modify to support multiple grammars, add fmpxmllayout grammar

The approach taken was to convert the execute() method to route based on grammar and to move all of the parsing into grammar specific parsing methods. Also added an array property to validate that a supported grammar has been specified. fmxmlresult is the default, to support backward compatibility.
The AbtractLoader and Curl classes still have methods that make direct calls to getFmresultsetUri(), I'll fix them (but, I don't really have any kind of test harness for them.)
The GetFileContents::load method appear to be broken, as least according to PHP Storm.