Update Resteasy auto-config to enable configuration of the deployment

Previously ResteasyAutoConfiguration imported RESTEasy’s Spring XML
configuration. While straightforward, this made it impossible to use
the environment to configure any of its components. It also made it
impossible to override individual beans, for example
ResteasyHandlerMapping to set some interceptors.

This commit updates ResteasyAutoConfiguration to be Java-based. It
(largely) replicates the XML configuration provided by RESTEasy.
As a result ResteasyDeployment can now be configured via the environment
using properties prefixed with resteasy.deployment.

SpringBeanProcessor requires a Registry which it obtains from 
ResteasyDeployment. SpringBeanProcessor is a BeanFactoryPostProcessor
so using ResteasyDeployment when creating SpringBeanProcessor results
in very early instantiation of ResteasyDeployment. This early
instantiation would prevent configuration properties from being bound
into ResteasyDeployment. To avoid this problem the dependency has been
inverted. The @Bean method for ResteasyDeployment takes
SpringBeanProcessor as an argument. When ResteasyDeployment is started
(which creates the Registry), the Registry is passed into
SpringBeanProcessor.
Demonstrate async request support in the sample