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

Configuration:
If sessions equals to max-sessions then 'Direct handoffs' method is
chosen else 'Unbounded queues' where core pool size is set with
max-sessions.

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
 * Quite unclear configuration of queuing methods

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