Finish removing AST representation.

The parser now directly produce proper values, reducing the amount of
encapsulation and being closer to lisp.

This also introduce an Identifier type, to make the difference between
string values and actual identifier - which need to be resolved when
evaluating an expression.