Updated parser prototype and early module organization

Lacks tests but hopefully starts people's thinking about things.  Want to spend some time simplifying the functions and expressions.  The parser shouldn't be generating custom objects for each function.  Rather we need to define a parameter validator set of classes that work together with a name and output type determiner to create a function definition.  But this works for now.