Refactoring of the AsynchronousCluster

The AsynchronousCluster now allows configuration of a ErrorHandler, which
provides more freedom in how errors are handled. The default error handler
will schedule retries if a transaction manager is provided, or proceeds if
the constructor without TransactionManager is used.

Exceptions containing a AxonNonTransientException (or subclass) in the causes
of the exception will cause a proceed, as they cannot be recovered from in a
retry.

Issue #AXON-91 Fixed