Initial commit
Added build configuration, initial project structure
Added test suite for Utils
Finished AST structure
Removed extraneous test object
Added toJson method for AST, fixed small bug

Fixed string representation (toString method) for empty container
types. String representation was like this before: "[\n]" (with an
actual newline character) for arrays, which took up two lines. Now,
the string representation looks like "[]".
Added test suite for AST and json functionality
Added test cases for nested structures in AST
Added parsers and test suites

Added base parser, white matching mixin for parsers (to make it
easier to do variable length whitespace matching for certain types of
files), CSV parser, and test suite.
Fixed self type in trait WhitespaceExpansion
Properly escape JSON in AST JSON representation

Fixed AST representation so that JSON is properly escaped. For
example, the string "hello\nworld" would be output with a '\'
character followed by a 'n' character instead of a literal newline.
Added missing case for escaped character in string
Updated comments
Added JSON parser
Added basic DSL for querying AST
Updated DSL unit tests
Updated DSL, unit tests
Updated documentation
Renamed whitespace expansion trait
Added trait to allow custom parsers work

Added a trait `AstBuilder` that all parsers have to implement. Any
parser that implements this trait works with all other components in
the framework, so it is easy to use custom parsers.