Add new token types

I am starting to implement new token types outlined in the project specs.
Add stack to getNextState

I added the stack so that I can add more tokens easily to the getNextState method.
Finish the project

This was a big edit, I added the rest of the tokens.  I also removed the 'stack' in getNextState because the code already had a method of obtaining the value of the current token.
Merge pull request #2 from seraphrunner/addtokens

Addtokens