(#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
(#2867) - do not stack notify change listeners
check on notify
check on change start