Port unit tests and fixes bugs

- Ported CRUDOperationsTest, DocumentTest, DatabaseTest, ManagerTest,
and RevisionsTest
- Fixed MonoSQLiteStorageEngine.GetDeleteCommand bug when constructing
a delete SQL command.
- Fixed ChangeTracker bug when checking the UserInfo
- Fixed Database.ParseRevIDNumber() bug when there is Whitespace at the
beginning or at the end of the revision id substring.
- Fixed Database.ParseRevIDSuffix bug when formatting the minIDToKeep.
- Worked around file.MoveTo Sharing Violation issue for
Manager.UpgradeOldDatabaseFiles()
Fixed regression in LruCache.

Running  by itself passed,
but it failed when running the entire  group. Fix a regression in
the LruCache and test now always passes.
Merge pull request #13 from xamarin/port-unit-tests

Port unit tests and fix bugs