(#2880) - fix base64-encoded attachments in http.js

The http adapter is not correctly handling base64-encoded
strings in putAttachment(). Instead of correctly recognizing
the text as base64, it actually just stores it as-is.

This also adds a test to ensure that we throw an error
if the user supplies a string that is not base64-encoded.
(#2867) - do not stack notify change listeners
Revert "(#2867) - do not stack notify change listeners"

This reverts commit d9429d1587dd0c50a963972f79c730389330ded2.
(#2880) - fix typo in comment/test name
(#2853) - parse uri for user/password
(#2905) - use readAsBinaryString if available
(#2904) - add cdnjs/jsdelivr to docs
(#2882 #2883) - don't manually track update_seq for websql
(#2818) - compaction removes orphaned attachments

Migrated idb/websql to have a new many-to-many table
of seqs to digests, fixed compaction of attachments
in all three adapters, added many new tests.
(#2926) - remove vendor from cordova app
(#2923) - add blob-util to docs
(#2918) - revoke object url for test blob
(#2890) - reduce md5 chunk size to 32768
upgrade for real
jshint
remove derequire from tests
remove through
Revert "remove through"

This reverts commit 93e74b3148bed3e5da8d9debbfd55fcbe0cb263a.
Revert "remove derequire from tests"

This reverts commit 1534a812c8959c7033ff1aebd3f6a09823ccb720.
callback