(#2931) - parallel compaction keeps db integrity

Contains two fixes:

1. adapter.js no longer passes the rev_tree to the underlying
   adapter. The adapter is expected to recalculate, since other-
   wise the database may change in the interim.
2. leveldb.js has a global write lock for all readwrite operations,
   similar to how WebSQL/IndexedDB work under the hood. I'm not
   100% satisfied with that, but it's better for the db to be
   correct than to be fast.
(#2185) - Remove allowed failures
(#2957) - Add appcache manifest
(#2951) - fix concurrency in leveldb.js

So I figured out where the bug was coming from - I had
not implemented the writeLock correctly. Took this opportunity
to also use the `double-ended-queue` as suggested by
@calvinmetcalf.
(#2962) - Update map reduce
(#2901) - November release blog post
(#2901) - November release version bump
(#2964) - Fix appcache generation
(#2381) - Split out testing details into its own readme
(#2381) - Follow up, supposed to be smaller header
(#2963) - Fix guide navigation overflow
(#2975) - Add couchdb-master to allowed failures for now
(#2974) - fix typos in blog post
(#2967) - Appcache fiddy bits

Made manfiest relative to root,  change blog paths endings so they can be cached
(#2967) - Strip index.html and add assets to appcache
(#2884) - upgrade browserify to version 6
(#2988) - Remove settimeout in replication test
(#2888) - Add failing test for issue 2888
(#2888) - Attach revived docs to deleted winning rev
(#2898) - small edits to the docs