Add a TransactionManager

## Context
When working with Oracle temporary tables and ```on commit delete rows``` we often have to execute SQL code with a non autocommit connection.

## Description
```TransactionManager``` class has been added to ease SQL code execution in a transaction.

## Example
```java
TransactionManager<Void> transactionManager = new TransactionManager<Void>(connection) {

    @Override
    public Void runSql(Connection connection) throws Exception {
        tokioFixture.insertInputInDb(storyName);
        selector.proceed(context, connection, tempTableName, today);
        tokioFixture.assertAllOutputs(storyName);
        return null;
    }
};

transactionManager.run(connection);


```