experiment with an AST implementation

About the experiment:
* polymorphic shared_ptr based nodes
* arithm/logic/ref operations are implemented by one class each
* strvisitor outputs in an xml format
* only Program, Shared, Atom, For, Loop, If implemented thus far
  implementation/architecture may change once all/more are implemented
* the implementation shall depend more on the semantics of the language which is as of yet fully defined (only grammar defined)