Changed alphas to printables.

Turns out symbols can be characters, numbers, punctuation, all sorts of stuff.
Reversed the transitions dictionary.

Made it so that symbols are keys and lists of state names are the values.
Completed Epsilon Closure.
Initial work on subset construction.

Epsilon closure complete, need to complete move function and actual subset algorithm.
Commit before epsilonClosure mod.

Changing epsilonClosure function to accept a set of states.
Working on completing #2.

Still need to actually implement the algorithm for converting.
Added alphabet data structure support.

Scanner properly passes alphabets to automatons and lexical descriptions, and the data structures now store them as sets. Thompson's construction now actively constructs an alphabet as it is building the NFA as well.
Subset Construction implemented, bug broken.

Need to work out all of the bugs and exceptions, but algorithms are implemented and ready to go.
Fixed rtype docstrings (missing ':')
Subset Construction is complete.

Also finally wrote sensible str() and repr() methods for Automata and AutomataNode.
Merge branch 'master' into subset-construction

Accepted my changes - bulldozed all others. This is being done before the
pull request.

Conflicts:
	automata.py
	scanner.py
Merge pull request #1 from Zinfidel/subset-construction

Subset construction

I believe all issues were taken care of. Pull has been merged into main branch