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
It's not necessary to add an "out" parameter for the error, since you've already made it available in a property. Just return nil; the caller can then check the property.