Expose FMDB queue object in TD_Database API
Add comments to TD_Database+Attachments to aid understanding
Expose revisions sequence number, hide inconsistent properties

Initialising properties in -documentAsDictionary was never a good idea,
so hide the properties we initialised there for now.
Fix a database usage bug
Add class to calculate MD5 from a stream.
Add attachment CRUD in a simple, non-threadsafe way.
Stream files as directly as possible into the blob store

Obviously we can't go directly as we need the sha1 of the file to
derive the file name from, but we can at least only read the file
once.
Download all attachments to local storage before updating document
Update attachments in a block, giving all or nothing semantics.
Expose a putRevision... method which can be used within a transaction
Create updated document and add attachments in single transaction
Document and comment some attachments code
Add test for adding >1 attachment in one go
copyAttachmentNamed:fromSequence:toSequence now takes a db object
Maintain current attachments when updating documents.

This differs from CouchDB's API, which requires that all updates
include an _attachments dictionary. However, it feels more consistent
with the current attachments API, which is currently separate
from the main documents API.

It would be good to merge the documents and attachments API in future,
but a clean way hasn't presented itself as yet.
Wrap attachments SQL statements to 100 chars
Retain a reference to filePath in CDTSavedAttachment.
More line length fixes.
Rejig attachment interfaces to favour init methods over factories

This allows for easier creation of subclasses of CDTAttachment,
because they are able to follow the same -init convention rather
than feeling like third-class citizens because they were not
create-able via factory methods on CDTAttachment.
Add a simple unsaved attachment taking file paths as data source