Code generation based type-providers

@amirsh's code-gen based type-providers adapted to work with master (14th Oct 2013). This is not meant to be merged but used for cooperatively reviewing the code.

@cvogt @szeiger