(TK-108) Add support for persistent Java clients

This PR adds support for both synchronous and asynchronous persistent Java clients.
@fpringvaldsen I'd prefer taking these out for now to just adding another sleep here since the sleep still wouldn't guarantee that the test would behave reliably.  Once the work related to TK-103 comes in, we should be able to restore these tests in a way that doesn't have these race conditions attached.