Support more complex argument lists for actions: The previous implementation was not prepared for having commas inside the parameter definitions, hence splitted list-like constructs in a wrong way. The patch fixes this.
Makes sure that variable references are properly resolved in arguments, returns and locals.
coverage: 88.168% (-0.2%) from 88.359% when pulling d21b41d99a9515c6bd070f1303a73f6481b7bcbc on arg-parse into 869828ccdad1fd99cc4ed4cb13d6a72eb66045f1 on master.