Add Generator and support code.
Add documentation, misc cleanup
Minor Fixes
numeric_limits::min -> lowest, plus clang-format on all added files
set() should actually set the value.
Changes necessary to get tests passing on linux

I don't understand why I needed to reorder the regular expression. Before I
did it was not accepting "p1" as a valid parameter.
merge
Minor fixes to Generator
move split_string back to Util
remove unnecessary #include from Util.cpp
Rearrange Param ctors to have name first (rather than last)
WIP on a generator that uses nested extern stages
Remove regex usage in Generator
Add an option to Generator::emit_filter to have filename not match funcname.
Make GeneratorBase::target public, since that's declared to be best practice for all other GeneratorParams
Generator::get_filter_arguments really needs a body
Add Generator::natural_vector_size()
Oops, last commit was in a broken state.
Add overload to GeneratorParam::'operator !'
Reworked JIT vs AOT tests for Generator