NameAutomata cleanup refactoring

Introduce some classes to wrap up parameters on recurse functions, and
one instead of use of Tuple. Remove commented out code lines.
Simplification refactoring

Starting to split out the end of name functionality so I can handle
multi-names, such as in the case of enums
Making NameAutomata ready to handle multiple values
The bulk of NameAutomata for enums

EnumMember and Flags attributes not currently supported
Fixed for EnumMemberAttribute
Fixed speed test for enum hash

blocking the automata from being used all the time (which then does show
that the automata is the better method)
Handle FlagsAttribute on enums
NameAutomata for anonymous(e) classes
Restored AnonymousTypeLookup.Lookup

Until ReadAnonymousObjectDictionaryLookup() is deleted, this will have
to stay
Merge branch 'automata-enhancements' of github.com:manofstick/Jil into pr-57
add a test to verify explicitly that automata are faster than hasing for enum matching; fix another (now defunct, but still) test for hashing vs non-automata solutions
delete all the now obsolete hashing stuff
formatting
fix automata failure case types; though these TODO's need to be handled...
add a failing test for enum failures; comparing to automata-less behavior
fix exceptions not being thrown for invalid enums
another test for unicode escapes in enums
knock out another TODO; remove more dead hashing code
update readme now that hashing is gone
Merge remote-tracking branch 'upstream/master'