(TK-108) Add support for persistent Java clients

This PR adds support for both synchronous and asynchronous persistent Java clients.
I might be wrong, but I think we intentionally expose this method so the user can directly call the `request` method. It's public in the clojure API as well.