WFLY-1812, WFLY-1895, and changes to wildfly-clustering-api/server/singleton modules

WFLY-1812 Web session clustering should not require a RegistryService if sessions aren't being replicated.
Introduce CacheServiceProvider to allow dynamic service installation per clustered cache (like what ChannelServiceProvider does for channels).
Refactor wildfly-clustering-registry into wildfly-clustering-api and wildfly-clustering-server
Remove wildfly-clustering-api dependency on jboss-msc
WFLY-1885 Refactor wildfly-clustering-singleton. Introduce a new builder API and move the actual SingletonService construction and implementation to wildfly-clustering-server
Refactor a separate Group abstraction from CommandDispatcherFactory.  Add channel and cache implementations for channel view vs cache view.
Add NodeFactory and implementations for creating Node objects from a JGroups or Infinispan Address.
Add GlobalComponentRegistryService for use by services that need to ensure an Infinispan cache container's channel is started.