Adding tests for CREATE and UPDATE operations (and modified one DELETE test)

* Add test to ensures underlying SQL database looks as expected
after inserting a single 'hello world' document.

* Add protection against non-serializable dictionaries.
Ensure that non-serializable dictionaries cannot successfully
be used to create CDTDocumentBody objects.

* Change was made in TD_Database+Insertion to check
for nil pointer to TD_Revision.body before insertion begins.

* The method isValidJSONObject was added to TDJSON to support JSONKit.

* Add test for creating second document with same _id.

* Add tests for updates with bad/old revision values and examines the
underlying SQLite database for lots of updates (>1000) to a single
document.

* Modified testDeleteDocument to examine the SQLite tables

* Add CloudantSyncTest setOfSqlTables: method

* Add testUpdateWithNilDocument

* Adds testUpdateDelete, but this is entirely commented out at the moment
because the test does not pass.

* Organizing code and adding pragma mark statements
Merge pull request #14 from cloudant/27702-3-create-update-tests

Adding tests for CREATE and UPDATE operations (and modified one DELETE test)