Adds characterization specs to the query parser
Dependencies come from gemspec
Reworks parser to use treetop

* Hopefully this grammar spec is clearer and easier to extend
* This does make the grammar spec more strict. Parentheses are now
  required in the rollup clause (i.e., "sum amount" is no longer
  accepted; it must be "sum(amount)")
Merge pull request #15 from alindeman/grammar

Reworks parser to use treetop