(#100) - Use Blobs for attachments: Tests

Add tests for Blob usage.
(#100) - Detect IndexedDB Blob support
(#100) - Use Blobs for attachments: IndexedDB

Add Blob storage support for IndexedDB.
(#100) - Use Blobs for attachments: HTTP

Add Blob storage support for HTTP adapter.
(#100) - Fix empty attachment blobs: HTTP

Chrome reads `new Blob([null])` as "null", whereas FF reads it as "".
(#100) - Use Blobs: normalize FileReader

Always use `reader.onloadend` and access data via `this.result`.
(#100) - Use Blobs (IndexedDB): Improvements

Improve `decode` option behaviour in `getAttachment`
and prevent base64 detour for inline attachments in Chrome.
(#100) - Use Blobs for attachments: WebSQL

Add Blob storage support for WebSQL.
(#100) - Use Blobs for attachments: add Test

Add a test saving an attachment together with an invalid doc.
(#100) - Use Blobs: Fix invalid docs

Fix error when trying to save invalid docs.
(#100) - Use Blobs for attachments: update Test

Update test saving an attachment together with an invalid doc.
Now receives error.
(#100) - Blobs: abstract Blob creation and reading

introduce `makeBlob` and `readBlob` functions in test.utils.js and use
them in test.attachments.js to be able to switch blob handling inside
node context.
(#100) - Blobs: expose blob test utils

expose `makeBlob` and `readBlob` test utils for node context and use
appropriate Buffers.
(#100) - Blobs: adapt support to node ajax version

set encoding to null which forces request to return a buffer.
(#100) - Blobs: LevelDB support

add support for blob attachments for LevelDB using buffers.