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