Fix #447 NAN in a document property

* Modify CBLCanonicalJSON to check NaN value and return an error when there is a NaN property in the document

* Update CBL_Pusher, CBL_Replicator, CBLDatabase, CBLView+Insertion, and CBLView+LocalDocs according to the fix

* Add unit tests to validate the fix
#447 Simplify encoding methods per code review

Simplify encoding methods by not passing an error around and just setting the _error ivar.
Merge pull request #450 from couchbase/feature/issue_447

Fix #447 NAN in a document property