Sbt codegen

This changeset automates the generation of the generated sources in bijection. This benefits of this are that

a) you do not have to run the code gen scripts by hand
b) generated sources do not live under the unmanaged source tree so you don't need to remind ppl that they should not edit the file
c) codegen happens at compile time automatically via sbt

the drawbacks are that you wont see the generated sources under source control but you can inspect them under target/scala-{version}/src_managed