Fixes clang warning (should also fix #586)
Radically simply the map parsing logic
Allow map keys to be function calls

The majority of changes in this diff is simple moving Arguments and
Argument above Function_Call in the source order.
Merge pull request #596 from xzyfer/feat/map-parser-electic-boogaloo

Radically simply the map parser logic
Merge pull request #597 from xzyfer/feat/functions-as-map-keys

Allow map keys to be function calls