Java Producer Provider

First pass at adding java producer functionality.  

A lot still needs to be cleaned up
Why are these being placed into the global scope outside of the `Hermann` module path?

It doesn't look like this is actually required, meaning, we could just have the `Hermann::Providers::JavaProducer` reference the fully qualified class name