Java Producer Provider

First pass at adding java producer functionality.  

A lot still needs to be cleaned up
Conventionally I think this module should just be called "Provider", e.g. `Hermann::Provider::JavaProducer`