Implement EvalVisitor which parses the tree into a double for #30

* Parses simple atihmetic expressions
* Optionally takes a petri net to parse place dependent tokens
* Returns zero for the place dependent token if it does not exist in the
  petri net
* Coloured tokens in places need adding into the grammar, for now
    returns total number of tokens
* Unit test EvalVisitor