Replace TransactionManager thread management with thread pool

Thread management is moved to ThreadPoolExecutor with custom
TMThreadFactory witch is responsible for thread "session id"
assigment, start and elapsed time measurement.
On input space registered is listener so there is no thread
contention. It is moved to BlockingQueue and it is probably
better implemented.
Supported are 2 queuing methods:
 * Direct handoffs - with SynchronousQueue
 * Unbounded queues - with LinkedBlockingQueue
For more info see
http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/ThreadPoolExecutor.html

ISSUES:
 * Input space has to be LocalSpace to register listener
 * Removed 'hack' to stop thread with Boolean.FALSE
 * Removed checking pool size and resheduling task in future

Signed-off-by: Robert Demski <drdemsey@gmail.com>