Java Producer Provider

First pass at adding java producer functionality.  

A lot still needs to be cleaned up
I'm not sure why the `.rescue` block is here. IIRC calling `#value!` on a `Promise` will result in an exception being raised.