Completed ApiTest.cs. Backported some changes.

Backported some changes from the snapshot changes.
Basic unit tests compile and run.

ApiTest and the ListTestCase base class now compile and run under NUnit.
They don't pass yet.
[Tests] APITest.TestAPIManager passes.

The storage engine's Open method was not actually open the
underlying SQLite connection. In addition, there were some
issues with the db name validation regex. There are two
patterns with only very subtle differences. I suspect these
two should be reduced down to one.
Source cleanup.
Create Document and DB Compaction tests pass.

Needed to migrate to Newtonsoft for now so that Dictionary<string, object> properly deserialize.
Adding missing libs folder.
[Tests] TestDeleteDocument now passes.

Completed the port of all changes from the first sharpen snapshot
to the second. Fixed a few issues related to refactoring.
[Tests] TestAllDocuments now passes.

This brought in some code from the last snapshot that did
not previously get migrated to the current codebase. Now
that these changes are in place, and a couple of other
small errors I made in porting, the remaining failing
tests are failing from NUnit asserts, and not from
unhandled exceptions, by and large.
[Tests] TestPurgeDocument now passes.

Extracted the parameter processing logic from RawSQL to method.
Added a call to that method to ExecSQL.
[Tests] TestLocalDocs now works.
[Tests] TestCreateRevisions now passes.
[Tests] TestCreateNewRevisions now passes
[Tests] TestHistory now works.
[Tests] TestConflict intermittently passes.

The issue is that conflicting revisions have the same
generation number, and randomly generated guids as ids.
The test attempts to choose based on deepest sequence,
but since the generations match, it's randomly choosing
the default revision, instead of taking the highest seq.
Fixed intermittent issue with TestConflict.

Due to a subtle issue in my Cursor implementation,
I had disabled a call to MoveNext in WinningRevIDOfDoc.
This introduced a regression. Fixed the cursor bug,
and restored the call to MoveNext.
[Tests] TestChangeUUID now passes.
[Tests] TestAttachments now passes.
[Tests] TestChangeTracking now passes.
[Tests] TestValidation now passes.
[Tests] TestSharedMapBlocks now passes.