XD-1593 XD-1589 Allow extensions targeted at Shared Server context

Enhancements to allow extending the Shared Server context (see [1] below before merging) :

* Refactored the Initializers to separate resource bean providers from component scanning providers.
* Added GroovyBeanDefinitionReader support to the resource providers
* Added a flag to allow OrderedContextInitializers to target PLUGIN context or SHARED_SERVER context
* Split out YAML extensions properties  to  xd.extensions.plugin and xd.extensions.server
* Removed SharedContext @ImportResource and replaced with SharedContextInitializer to ensure that these bean definitions (e.g., MessageBus, Analytics, and Repositories) are loaded before the extensions. ([1] NOTE this is no longer true in commit d4e03c0 - still evaluating the internal configuration)  
* Refactored tests and added Groovy bean definitions to ExtensionsTest. Test verifies the MessageBus codec can be replaced by a shared server context extension.