(#2054) - implement PouchDB.defaults

This also fixes a few bugs in how opts.db
is used in leveldb.js, namely:

1. the leveldown object was overriden globally in the browser
2. databases with the same names but different backends collided
(#2356) - fix syntax errors in put() docs
(#2347) - add opts.size to fix websql quota bug
(#2335) - add more plugins and better organize external.md
(pouchdb/pouchdb-server#45) - fix default opts on destroy
(#2339) - document localStorage warning in Chrome apps
(#2369) - Adds plugins to the external projects page

Also generalizes Python-PouchDB's description a bit.
(#2380) - test performance in node
(#2379) - Fixing a typo
Revert "(#2380) - test performance in node"

This reverts commit 8e9f4d7ed2c2f0f9b7f7bb01430d66f68b02c171.
(#2360) - PouchDB.defaults() missing some fields
bulkdocs response may not contain .ok property

I hit this case when syncing against Sync Gateway.
(#2358) - multiple attachments correctly replicate
(#2370) - update pygments to highlighter
(#2372) - update adapters.md for safari/ios

Let's spread the good word - Safari and iOS
will have IndexedDB. :)
(#2382) - test performance in node
(#2214) - browserify