Split NAME into upper/lower variants, remove Enum for now

I tried to split this apart, but after all the selective
hunk selection, git threw up an error, so blame git for
two things at once.
Change the parser to use initial lower for types/type constructors, initial cap for type vars
Change Option to option in the datashape language
Remove the Range type, it has no backing implementation anywhere
Remove Record as a type constructor, {} syntax is for records
Clean up the tests/errors for the lower/upper type/typevar distinction
Merge pull request #18 from mwiebe/typevar_uppercase

Typevar uppercase/type and type constructor lowercase
Rewrite the datashape grammar document with a new grammar
Further tweaks to datashape
Some tweaks, changes, additions to the datashape grammar

Use * instead of , for separating dimensions
Don't use barewords for things like string[encoding],
use strings.
Exclude the typeset constraint on typevars for now.
Merge pull request #21 from mwiebe/grammardoc

Rewrite the datashape grammar document with a new grammar
Fix some points about the language in the grammar doc
Clean up the .travis.yml a bit, add python 2.6
Fix for python 2.6
Merge pull request #23 from mwiebe/travisci_py26

Clean up the .travis.yml a bit, add python 2.6
A simple lexer for the datashape grammar
Add first test of the datashape lexer
Add a lexer test for invalid tokens
Add tests for integer token and whitespace in lexer
Tighten up the string token in the lexer, add tests for it