Added Messaging Queue system for Fenix Framework

* Implemented only for Infinispan Backend

* Load Balance based on locality hints. If no locality hint is provided, then
it uses a round-robin load balance.
Refactor InfinispanTransactionManager

* Also added test for the inner transactions. Inner transactions should never be retried but they should notify
the top-level transaction to retry itself.

* Application exception never retry the transaction even if they happen in a inner transaction.

* If any error occurs during the transaction commit/rollback, the transaction is retried.
Fix useGroupingFromString method name
LocalityHints throws IllegalStateException if a string with no locality hints is provided
Fix FenixFrameworkGrouper

* Removed the dependency to FenixFramework since it originates a deadlock when
accessed during the FenixFramework initialization.
Removed lower bound configuration for B+Tree

* Now, it is only possible to configure it via JVM property by setting
-DbtreeLowerBound=XXX
Added JMX helpers to easy register JMX DynamicMBean with annotations

To use, annotate the class with @MBean and the attributes methods with
@ManagedAttribute (set the method=SETTER to a setter method) and the
operation methods with @ManagedOperation
Enable JMX to messaging
Merge pull request #162 from pruivo/t_load_balance

Messaging/Load Balance system for Cloud-TM project