[WFLY-1845] Upgrade HornetQ to 2.4.0.Beta1

* upgrade HornetQ to 2.4.0.Beta1
* use a pooled connection-factory as Java EE's default JMS connection
  factory
* do not enlist the XA resource in JMSContextProducer when a transaction
  is active, HornetQ's XA connection is taking care of it
[WFLY-1287] Provide JMS Default ConnectionFactory

* use java:jboss/DefaultJMSConnectionFactory binding to provide the default JMS
connection factory to deployments
* simplify the destination injection
[WFLY-1337] JMS Destination definitions

simplify code
[WFLY-1337] Support JMSConnectionFactoryDefinition

* parse deployment descriptor and annotations for JMS connection factory
  definitions and create manageable pooled connection factory for each
  definition
* add a createBinderService boolean to ResourceAdapterActivatorService
  to be able to prevent it from creating a binder service. When a JMS
  connection factory is defined by annotations or DD, the
  BinderService is already created before calling the
  DirectJMSConnectionFactoryInjectionSource.getResourceValue() method
fix MDB tests

* with JMS 2.0, the behaviour of ConnectionFactory.createSession() has
been clarified:

> In a Java EE web or EJB container, when there is an active JTA
> transaction in progress:
>
> Both arguments transacted and acknowledgeMode are ignored. The session
> will participate in the JTA transaction and will be committed or rolled
> back when that transaction is committed or rolled back, not by calling
> the session's commit or rollback methods. Since both arguments are
> ignored, developers are recommended to use createSession(), which has no
> arguments, instead of this method.
> In the Java EE web or EJB container, when there is no active JTA
> transaction in progress:
>
> The argument transacted is ignored. The session will always be
> non-transacted, using one of the two acknowledgement modes
> AUTO_ACKNOWLEDGE and DUPS_OK_ACKNOWLEDGE.
> The argument acknowledgeMode is used to specify how messages received by
> this session will be acknowledged. The only permitted values in this
> case are Session.AUTO_ACKNOWLEDGE and Session.DUPS_OK_ACKNOWLEDGE. The
> value Session.CLIENT_ACKNOWLEDGE may not be used. For a definition of
> the meaning of these acknowledgement modes see the links below.

However, the MDB contract in EJB 3.2 spec (§ 5.4.6) specifies that:

> The PostConstruct lifecycle callback interceptor method executes in an
> unspecified transaction and security context.

This means that the behaviour of ConnectionFactory.createSeesion is
unspecified in @PostConstruct since the transaction context is itself
unspecified.

After some debugging, it appears that in WildFly, there *is* a
transaction when @PostConstruct method is called. This implies that the
JMS session is created to participate in *this* transaction.

Later on, when the MDB's `onMessage()` is called, it is in *another*
transaction and the JMS session will not participate (meaning the reply
message is not sent and the tests failed)

It was working before with JMS 1.1 because the JMS sessions was not transacted
(the createSession contract was not specified) and the message was sent
outside of the transaction required by the MDB's `onMessage()` method.

Creating a JMS context (equivalent to a connection + session) inside the
`onMessage()` method makes sure the JMS session is created with a
correct transaction context.
In addition, there is no benefit to keep the JMS connection as a MDB
field since it's using a pooled connection.
Added basic tests for picketlink IdP
WFLY-1719 ClassCastException on clustered deployement.
Infinispan 5.2.x enabled recovery by default.  Disable recovery in infinispan-defaults.xml to match default for Transaction resource.
WFLY-1910 NotSerializableException when Infinispan cache being committed
Undertow stores the authenticated session in the HttpSession using a special attribute.  This attribute belongs in the local session context so that it is not replicated.
[WFLY-1937] IronJacamar 1.1 parser needed for deployments
WFLY-1934 : Cleaning the code in OutboundLdapConnectionTestCase.java for an easier to maintain test.
WFLY-1940 : Making LogFilterTestCase a unit test of the logging module instead of an integration test.
WFLY-1947 Prevent boot errors in the application client when using the naming 1.0 namespace
[WFLY-490] Managed domain server config
[WFLY-490] Set up infrastructure for domain RBAC tests; start on a basic test of the 'simple' provider using 'roles' headers
[WFLY-490] / [WFLY-1853] First make sure the Principals are Serializable so they can be passed from process to process.
[WFLY-490] / [WFLY-1864] Update the protocol so that servers receiving management requests from a trusted master can request a Subject to use when executing the operation.

For host controller to managed server interactions the two are always kept in sync version wise.
For master to slave communication the master must be the same version as the slave or higher i.e. a slave sending this new request will not cause an interop issue as the master must be at least a version that understands it.
[WFLY-490] Fix thread safety issue
[WFLY-490] Beef up RBAC domain integration testing a bit
[WFLY-490] Scoped roles
[WFLY-490] tests for scoped roles management