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

Enhancements to allow extending the Shared Server context:

* 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.plugins and xd.extensions.shared
* Removed SharedContext @ImportResource and replaced with SharedContextInitializer to ensure that these bean definitions (e.g., MessageBus, Analytics, and Repositories) are loaded before the extensions. 
* Refactored tests and added Groovy bean definitions to ExtensionsTest. Test verifies the MessageBus codec can be replaced by a shared server context extension.