Fixed unit tests
fix AXON-121: detect usage of duplicate aggregateId
Minor modifications on previous commit
- Thrown exception should be ConflictingModificationException

Issue #AXON-121 Fixed
Added check to ensure provided Executor is suitable for AsyncSagaManager

The AsyncSagaManager checks whether the given executor actually starts the
requested processors. If they don't start within a specific timespan, an
exception is thrown. This detects the situation where the core pool size of a
thread pool is not large enough to accomodate all the processors.

Issue #AXON-125 Fixed
Added the CommandGateway as default resources in the Saga Test Fixture

The CommandGateway (or the mechanism that allows the creation of a gateway
using your own interface) is the recommended way to interact with a Command
Bus. Therefore, the CommandGateway is available as a default resource in the
test fixture.

Issue #AXON-112 Fixed
Annotation...HandlerPostProcessor should not process beans twice

When two AnnotationCommand/EventHandlerPostProcessor instances were configured,
the second one would cause an exception, as it was unable to enhance an already
enhanced bean with the same interfaces.

Issue #AXON-119 Fixed
Added some tests for AXON-128
Forgot a file in previous commit
Improved documentation on @CommandHandler parameters

The documentation did not mention the ability to use ParameterResolvers that
allow e.g. Spring beans to be passed as parameters.

Issue #AXON-127 Fixed
SagaTestFixture will now do shallow field comparison on Commands

Commands do not always implement an equals method. Yet, the fixture should
not really be influenced by that. Now, when a fixture compares commands, it
will first check for equality using equals. If that is false, the fields are
checked using their equals method.

Issue #AXON-111 Fixed
Tests seemed to influencing eachother
Add attribute prefix to attributes

Attribute prefix was not being added to attributes, causing an assertion
to fail when using the serialiser to create snapshots.
Annotations on interface methods are also inspected

The @CommandHandler and @EventHandler annotations may now also be places on an
interface implemented by the handler. Methods on the interface are evaluated
after the methods declared on the class implementing the interface, but before
the methods on the class' superclass. So if class A extends B and implements C,
the order in which methods are inspected is A, C, B.

Issue #AXON-136 Fixed
AXON-133 Expose the underlying EventStoreManagement.newCriteriaBuilder() and make it possible to start a replay with a Criteria.
Propagate replay failures to the ReplayAware event listeners in the cluster.
Code style changes
Set value of BSONNode from _value property
Merge pull request #90 from andyduncan192/master

Set value of BSONNode from _value property
Added generics to SimpleSerializedDomainEventData
FIxed issue where command callback was not invoked on retries

The situation occurred when a command was retried, and then failed on a
DispatchInterceptor (which fails in the calling thread). Now, the retry
scheduler will detect these errors and invoke the callback.

Issue #AXON-145 Fixed