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