34405 remote attachment

Implemented CDTRemoteAttachment, which represents an attachment in a remote server. 

The data is kept in memory if it is downloaded via a GET document request that includes attachment data. I'm not sure if this is the best approach for memory management for a large number of attachments. If the data was not included, the Remote attachment will download the data using a synchronous call, this is probably not the best approach, but it does guarantee that an NSData object with populated data is returned.

The CDTDocumentRevision factory method has also been changed to take an URL of the document that has been downloaded e.g. https://exmaple.cloudant.com/exampledb/exampledoc/
Use the standard wording we use elsewhere: "@param error will point to an NSError object in case of error"