Implementation using a char[] rather than StringBuilder

Following "standard practice" I have created a
UseCharArrayOverStringBuilder bool to toggle on and off.
Merge remote-tracking branch 'origin/master' into char-buffer-vs-stringbuilder
Changed AlwaysUseCharBufferForStrings and added AlwaysUseCharArrayInsteadOfCharBufferAndStringBuilder
Add char[] buffer functions for numbers

Continuing to add char[] buffer functions as replacements for all the
StringBuilder() ones
Align and fix comments
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