Introduced a factory for codegen data containers

This enables users to extend the Codegen* classes
and add their own methods there (which then can
be accessed from the mustache templates)
see https://groups.google.com/forum/#!topic/swagger-swaggersocket/r9xmxsBXY6A

@fehguy is this the way to go?