added a Node class

Signed-off-by: Tim Henderson <tim.tadh@gmail.com>
Builds an expression tree.

- Fixed the grammar to be more like the one in class.
- Improved the Node.toString()
- Changed the visitor to build an expr tree.

Signed-off-by: Tim Henderson <tim.tadh@gmail.com>