Support zero-arg functions

E.g. $(GetAZs()) => {"Fn:GetAZs", ""}
Support single-arg functions

E.g.: $(GetAZs(us-east-1)) => {"Fn:GetAZs" : "us-east-1"}
Support multi-arg function calls

E.g.: $(GetAtt(LoadBalancer, PublicIpAddress))
   => { "Fn::GetAtt" : [ "LoadBalancer", "PublicIpAddress" ] }
Refactored EL parser
Allow EL as arguments to functions

E.g.: $(FindInMap($(Map), $(Key), Value))
    => {"Fn::FindInMap" => [{"Ref" => "Map"}, {"Ref" => "Key"}, "Value"]}
Updated TODOs
Listed functions all in the one place
Updated TODOs