Changed starting process of Unit of Work

When an exception occured while starting a Unit of Work, it would leave the
CurrentUnitOfWork stack in an inconsistent state. This change will start the
UnitOfWork before registering it as "active".