Make waitOnCmd(failontimeout=True) backwards compatible

Previous changes to waitOnCmd and submit in BaseClient
broke backwards-compatibility since the handle which was
returned could possibly be closed. Now, close is called
on the handle instance by default only if the invoker
is `client.submit()` since in that case, the consumer has
never held a reference to the handle proxy.