Checks if a give SignatureToken represents a primitive type and, if so, returns MoveTypeLayout
for this type (if available). The reason we need to return both information about whether a
SignatureToken represents a primitive and an Option representing MoveTypeLayout is that there
can be signature tokens that represent primitives but that do not have corresponding
MoveTypeLayout (e.g., SignatureToken::DatatypeInstantiation).
Resolve the JSON args of a function into the expected formats to make them usable by Move call
This is because we have special types which we need to specify in other formats