Added Test case for issue #148 + fix:
Removed unnecessary string concatenation for types which convert to
String.
Added licence tag
Make DefaultCodeGenStrategy constructor public and addSpec protected for
extensibility
Allow for setting an alternative CodeGenerationStrategy during build of
factory