Bumped version to 1.495 for beta 3
Code that demonstrates unexpected behavior with regards to completedChangesCount of replicator observer.
Fixed an assertion-failure when a _bulk_get download can’t parse a JSON doc

Fixes #232
Fixes #271
Merge branch 'replicator_observer_issue' of github.com:couchbase/couchbase-lite-ios
Don’t set replication progress to 0/0 when stopping

Instead the progress should remain the way it was.
Also, improved Traun’s great new test for verifying that progress counts make sense.
Fixes #274
Fixed a couple of minor warnings reported by Xcode 5.1
Fixed WebSockets bug with zero-length messages

The WebSocket class broke when it received a zero-length message, which
is what the _changes feed sends when it's caught up.
Fixes #272
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.