[EJBCLIENT-120] Hang in AbstractHandleableCloseable.close() when using @Clustered

Extract the logic from cluster context outside EJBClientContext for
uncoupling the operations between EJBClientContext and
ClusterContext. This removes the deadlock when both types
of operations are being invoked through the EJBClientContext.
BZ 6.x https://bugzilla.redhat.com/show_bug.cgi?id=1133980
Hi @dmlloyd
The main reason for creating it was to split the sync blocks from EJBClientContext and cluster management. It's public because all cluster functions were public and I thought changing the current API (getClusterContext, getOrCreateClusterContext and so on) could raise other problems.

Another reason is the way the information about the cluster is exchanged (Cluster*MessageHandlers) is through the EJBClientContext (both are in different packages).