Ported more unit tests and fixed bugs

- Ported AttachmentsTest, Base64Test, BlobStoreWriterTest, ChangesTest,
LocalDocsTest, MiscTest, RevTreeTest, SequenceMapTest, ValidationTest,
and ViewsTest.
- To inline with Android unit tests, start and stop database on every
single test method (see setup and teardown method in
http://developer.android.com/reference/junit/framework/TestCase.html
for references).
- Attachment : Fix reading stream to bytes[].
- Database : Implement GetAllViews(), fix QueryViewNamed() not updating
index when setting IndexUpdateMode to before, fix
GetAttachmentsDictForSequenceWithContent() not initializing dataBase64
to null which leads to incorrect result returned.
- DocumentChanges : Fix RevisionId property returning wrong data and
added IsCurrentRevision property.
- Query : Fix QueryOptions property setting state to
IndexUpdateMode.Before instead of IndexUpdateMode property.
- QueryRow : Fix Equal() when comparing Dictionary values.
- RevisionInternal : Fix initialized value of the sequence variable.
- Cursor : Fix crash in GetString().
- Misc : Implement ProperteisEqual to compare 2 properties
(Dictionaries).
- View : Add dump() method, fix bug in GroupTogether and GroupKey.
- Adjust line spaces in Document, BlobStore,  and UnsavedRevision.
- Base64Test is currently failed due to .NET Convert.FromBase64String
needs ‘=‘ padding when the length of the input string is not multiple
of 4. One way to solve this is to create a util method for decoding
base 64 strings that checks the length of the input string and does the
padding.