Replication encoding/encryption API now supports attachments.

During a pull, the _attachments objects for large attachments will have
a temporary "file" property that points to the local file path where
the attachment data can be found. The transformation block can read this
file, but must not modify it.
Removed all deprecated API methods.
Fixed incorrect values from CBLUnsavedRevision and CBLAttachment, for unsaved attachments

CBLUnsavedRevision:
-attachmentMetadataFor: and -attachmentNamed: would return nil for an unsaved attachment.
-attachments wouldn’t return any unsaved attachments.

CBLAttachment:
.length would return 0 for an unsaved attachment.
Optimizations for view indexing and querying

These shave a significant amount of time off of Ashvinder’s Test 12.
WebSocket changes feed was sending ‘since’ to SG as string, not number

This unfortunately caused the changes feed to start from the beginning every time.
Oops, removed some leftover debugging code from the last commit
Puller was getting confused receiving JSON-only docs (no attachments) with gzip response encoding

It was looking at the “Content-Encoding: gzip” header and thinking that this was a JSON _part_ that
was encoded, so it tried to decode it itself. Whereas the top-level gzip decoding is done already by
NSURLConnection. So it was trying to gzip-decode plaintext, oops.
Fixes #281
CBLModel improvements (-willSave:, empty _attachments)

* Made -willSave: public (it was always meant to be but I forgot to add it to the header)
* Fixed some situations where a model could end up with an _attachments dictionary with zero elements
* -propertiesToSave wasn’t including _id prop if doc was new; caused trouble for signed documents.
Replication encoding/encryption improvements

* Transformation block can now return nil to skip the document (useful on pull if it’s invalid)
* Assign correct revpos to an attachment created by a transformer during a push
Thread-safety fix in CBLWebSocketChangeTracker

I haven’t seen this cause problems, but fixed it just in case.
Test class names should start with “CBL”

They’re baked into debug builds of the framework, and I just ran into a name conflict
when trying to build a developer’s app with a debug CBL, because he had a class
called “TestModel” too.
Fix for when transformer block rejects a pulled doc

Needed to mark the doc's sequence as no longer pending. Otherwise the
checkpoint doesn't advance, and the puller will keep trying to pull that
doc on subsequent runs.
Fixed another assertion-failure when a _bulk_get download can’t parse a JSON doc

Found a piece that was missing from the prior fix 24f6381. The same assertion failure was occurring,
under slightly different circumstances.
Fixes #288 (speculatively). Also see #271, #232.
Tweaked some logging in CBLReplication.m.
Finally fixed the multipart JSON-decoding bugs

Fixes #288
Fixes #289
Tweaked logging in CBLReplication.m some more.
Declare public C functions as `extern “C”` when compiled in C++ mode

Otherwise Obj-C++ apps get link errors using functions like CBLTextKey.
Fixes #291
Back to $ARCHS_STANDARD for iOS builds

Removes the “Release-64bit” build configuration.
With Xcode 5.1+, the regular iOS frameworks will include 64-bit.
With earlier Xcodes only 32-bit.
NOTE: This commit breaks the automated Jenkins build.
The build script will need to remove the steps to build with Release-64bit,
and to copy extra 64-bit frameworks.
Added CBLIncrementalStore source files to Extras

The “Extras” folder generated by the iOS build target now includes CBLIncrementalStore.{h,m}.
Also, the README in that folder has been updated to describe it.
Fixed -[CBLDatabase existingDocumentWithID:] not returning nil for nonexistent doc

(Reported in post to mailing list)