Fixed our whitespace regex
Created new utility functions
Replaced Lex and updated Parse

Lex has been replaced with a foldr method, rather than a map method.

This allows us to work at a more granular level which was impossible
before.  Due to this new granular level, we had to update Parse to deal
with strings differently than it had done before.
Merge branch 'master' into fold_lex
Created a function to take a string and explode it to strings of length 1
Upgraded the exploding of keywords in lex
Merge pull request #3 from travisby/fold_lex

Lex using fold instead of map