Renamed Restore method to Rollback
Added base class for all custom Exceptions

This allows clients to catch and handle all custom exceptions in a unified manner.
Added ArrayAdapter
Fixed: allow explicit interface implementations of ICollection<T>