Single interface generator for genjava.

We can use the full package generator for genjava, but this is prone to errors (like 'first definition wins') as it is making the assumption that every msg/srv in a package should be generated. In reality, it is only the ones that are listed in cmake via the `generate_messages` macro.