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.
Merge branch 'master' of https://github.com/couchbase/couchbase-lite-ios