Nested transactions

I have implemented the Nested transaction feature. The key of this code is to reuse the session in the OpenSession method of the SessionManager class.

There are 3 new tests:
* NestedTransactions.NestedTransactionFeature checks that everything simply works.
* NestedTransactions.Transaction checks that everything is in the same transaction and that the objects are commited to the database when the transactional method stacks is cleared
* NestedTransactions.Rollback: checks that if an exeption occurred in another method but in the same transaction no object is persisted