Added a lock on EventProcessor.run() to prevent concurrent execution

The EventProcessor is not designed to be run conccurrenlty, although it should
be processed on different threads (sequentially). Related to issue AXON-221, a
monitor has been added to the run method to ensure no 2 threads can run a single
instance concurrently.

Issue #AXON-221 Comment