Initial round of code generation

Now that VS is 2015 is on the horizon I find myself maintaining the same
logic in potentially 4 different assemblies.   It's the same code, just
cut and paste with a different namespace into the target project.
Changing to use code generation to reduce the maintenance burden.
Finished the code generation
Merge pull request #1528 from jaredpar/fixes-specific

Fixes specific