DATAREDIS-73 - Add support for spring managed transactions.

RedisTemplate now supports enabling of transaction support, which is disabled by default.

In case of enabled transaction support Connections will be bound to a given thread while listening for outer transactions. If there's an active transcation ongoing we call MULTI and EXEC|DISCARD at its end. To support read operations during the transaction we wrap a proxy around the bound connection piping read operations to a new (non thread bound) connection.