Refactor visitor

Instead of an object, just make it just a function.
Also, add a helper method .setup, which adds the
#acceptVisitor method to a class.
Optimize SQL AST nodes for visitor pattern
Rename column node classes

Column -> SelectColumn
InsertColumn -> Column
Put sql nodes in a single file
Clean up column name resolution logic
Remove unneeded accessors on AST nodes
Generate subquery name in builder, not AST node

I want to keep the AST nodes pretty dumb.
Clean up code for setting up record classes in specs
Make belongsTo work on the server

It had to be adjusted because #find uses continuations
on the server.