# IDatabase implements IDisposable so that the it can be used in using blocks instead of the concrete Database class.
# Database.Dispose now Disposes the Connection object.
# Added RunInCurrentTransaction methods so that client code can add additional operations to the current transaction.
Exposed the Current Transaction to the child classes and removed the RunInCurrentTransaction methods.