BUG-614: introduce AbstractRuntimeCodeGenerator

Introduce AbstractRuntimeCodeGenerator, which is the base service class
for interactions with the rest of the world. It implements the public
contracts and as much of the logic as possible in pure Java and defines
a clear interface subclasses need to provide. RuntimeCodeGenerator.xtend
then adds an implementation of it.

Change-Id: Ic04f3e840825ae1f59583c0a9a2f6fbfc7bb66f6
Signed-off-by: Robert Varga <rovarga@cisco.com>
Merge "BUG-614: introduce AbstractRuntimeCodeGenerator"