[master] Introduce pooling/caching for auto-constructed remoting endpoints and connections

The commits here implement a facility to pool/cache remoting connections and endpoints that are auto created within the EJB client project. This is similar to how remote-naming caches the connections/endpoints. The main intention of this facility is to limit unnecessarily recreating these connections/endpoints for cases like scoped contexts for JNDI lookups and other similar usages.