Javadoc and code style improvements
Moved class to other package to prevent cyclic dependencies
Added configuration for serialization optimizing

There is a Command Handler intereceptor that can be configured that wraps all
generated events in a SerializationAware version. This allows serializing
components to optimize by preventing duplicate serialization.

The disruptor command bus now has support for threads dedicated to pre-
serialization using this mechanism. The publishing thread will then be able to
access the serialized version of payload and meta data right away.

Issue #AXON-51 Fixed
The concept of a Unit of Work is now more tightly coupled with transactions

UnitOfWork is now "transaction aware", meaning that it can be bound to a
transaction. When that is the case, an additional UnitOfWorkListener method
will be invoked: onPrepareTransactionCommit, which allows logic to be executed
after storage and publication of events, but just prior to the commit of a
transaction.

This also means that the (Spring)TransactionInterceptor is deprecated. Instead,
one should set the TransactionManager directly on the Command Bus.

Issue #AXON-53 Fixed
Updated copyright notices
One can now inject PlatformTransactionManager as well as TransactionManager

From within a spring context, the transaction-manager attributes may point to
either a PlatformTransactionManager (Spring) or a TransactionManager (Axon)
object.

Issue #AXON-54 Fixed
Javadoc and code style
Added documentation for several new features

Issue #AXON-10 Documented
Issue #AXON-45 Documented
Issue #AXON-46 Documented
Issue #AXON-47 Documented
Issue #AXON-50 Documented
Issue #AXON-51 Documented
Issue #AXON-53 Documented
Moved async event handler classes to their own package
Silenced unimportant sonar violation
Added meta information to main pom
feature: make metadata injectable on when() for GivenWhenThenTest
fixture
Added pre-commit check on AMQP Channel liveness

When a transactional-bound Unit of Work is active, the AMQPConnector will
verify whether the channel is open before the transaction is committed. This
improves the chance that the transaction commit is successfully followed by
a commit on the AMQP Channel.
Merge remote-tracking branch 'viadeo/master'

Added test and javadoc
Removed timing issue from test
[maven-release-plugin] prepare release axon-2.0-m3
[maven-release-plugin] prepare for next development iteration
Typo in javadoc
Improved performance of visit-all-events query

By changing the way the batching is done by the query, performance is improved
dramatically, especially for the batches beyond the first million (selecting
1000 records after the first 1.000.000 took nearly 4 minutes, now 200ms)

Issue #AXON-57 Fixed
Removed deprecated classes

Preparing for the first release candidate. We don't want deprecated classes in
there.