Class-ify fields using coffeescript, able to generate AST

@imlucas 
Finally all the field types are abstracted as different classes. Yay!
The program now is able to generate a simple AST from a json object, handle aggregation among fields of the same type, and do some basic counting.
'test_output.json' is the output generated after running cli.js which uses test.json as the input.
If the class structure looks good, I can go on adding more functionalities.
Thanks!
careful with typeof.  There is a lot of trickiness to js types.  Did a bit of this for [imlucas/mongodb-extended-json](https://github.com/imlucas/mongodb-extended-json/blob/master/lib/types.js).  Perhaps we should just pull that out into a mongodb-types module and reuse it here.