This also removes all multi-threaded calls to the database as they were not working as expected.
The transactions are now used to keep the database in a sane state, but as far as possible log all messages from the connection to the database without using cross-thread requests.
Also fixed some errors with cleanup and rewrote some of the remote filename parsing and validation.
Still needs a work over in terms of error handling, progress reporting, warning output, refactoring etc.
Also misses the volume reuse/reclaim algorithms.
But it passes the unit tests now, with and without a local database.
git-svn-id: https://duplicati.googlecode.com/svn/sandboxes/Kenneth/ForestHash@1526 59da171f-624f-0410-aa54-27559c288bec