Restrict tokens to a-Z, 0-9, _, -.

Closes issue #8.
Add a .gitignore.