Transactions for EVERYONE!

- ChinhDo.Transactions used everywhere. Our own class is gone.
- Install, InstallList, and Remove are now atomic.
- Nested transactions *work*. They all have to succeed for commits to happen.
- Cmdline client uses nested tranactions for upgrades (which are still buggy).
- sha1_sum has returned, and works great!
- Convenience functions in Cache class.
- Extra log4net in async downloads (`ckan gui --debug` to see these)
- Better encapsulation in ModuleInstaller
- Documentation, tests, and joy!

See individual commit messages for further details.