Add SQL::Scanner based on ragel

* This is a WIP, just trying to get the right layout and division of
  labour between the lexer and upcoming parser based on racc. This
  will obviously be expanded to include all the tokens in a SELECT
  query, as well as all the tokens in UPDATE, INSERT and DELETE.
Remove ruby file that will be generated by racc
Change ragel to use a scanner instead of a state machine

* This appears to be a better approach since the parsing won't be
  duplicated on the scanner and parser side of things. Ragel is now
  only responsible for tokenizing the input, and Racc will be used
  to parse the tokens.
Add SQL::Parser based on racc

* This is a preliminary grammar based on the sql 92 bnf defined at
  http://savage.net.au/SQL/sql-92.bnf.

  Oddly enough it also resembles the racc grammar at:
  https://github.com/omghax/sql/blob/master/lib/sql/parser.racc but
  was not derived from it.

  This scanner/parser combination can now parse simple SQL queries
  like: SELECT * FROM "people" but does not yet do anything
  interesting with the data. Eventually it will create a tree of
  SQL::AST::Node objects.