Java Producer Provider

First pass at adding java producer functionality.  

A lot still needs to be cleaned up
in side of Hermann::Producer it's doing a funky thing where it calls push_single, so to be compatible with that I added the method in the provider