Synchronize _users database between cluster nodes

BugzID: 11586
Cleanup readers to prevent process backlog

Merge branch 'FB-11567' by squashed commit of the following:

commit 60f73e37a2a6d6bcd4ed92f88633b55080b59b4f
commit 0e072cdc11a7758314261fa8d0da78d2896a4dbb
commit a1c87e4ac5453678897d63a1d46674e9226f3fcf
commit 7b44acf176593b935d4830d6bc62c4425faab107
commit 4681932c44d23fc55ba3ae89778732c92a0df8d3
commit a615ac4ad2900fc8de803241dee539005808f753
commit c753131595d5b044407d240cf486f8158134e596
commit 56302924c7d27f9a837a57df23d3e9e45995bf4b

BugzID: 11567
Use stock CouchDB authentication handlers

Merge branch '11586-fix-chttpd-auth' by squashed commit of the following:

commit c3416618e5bb260f31b862c1c80f722f0e9177be
commit 888e4ae05912bd53487c48dfd31ab8b10f350de6
commit ae739304720ef6343c95d12991ca4c103319d9cb

Closes BigCouch #31
BugzID: 11586
Fix reduce_overflow_error message formatting

BugzID: 1573
Improve chunked error message formatting in _changes and views

Including the 'error' atom is at best useless and at worst hides the
true tag for the error.

BugzID: 1573
BugzID: 11250
cleanup reference to chttpd_auth
BugzID: 11647 Linked docs should work without posting keys.
BugzID: 11640 - ignore attachment offsets when detecting read repair

This patch replaces the #doc key used when looking for read repair work with an
{Id, Revs} tuple, thus preventing spurious read repairs. These were causing
massive database inflation as attachments would be copied on every retrieval
(and then discarded).
Split a long line of code into two
Use same DB name restrictions as CouchDB

BugzID: 10162
Include sanitized stacktrace in JSON error responses

Squashed commit of the following:
commit 9c1bcef97c4659e3be4fbf9434a816e086186842
commit a054a7bae939b4edcac435b2416f58f0d11bc2a1
commit 320dfbe2a62e6fccf9d63c0312b6c62a59f51e1f

BugzID: 11250
Reformat errors to generate pretty JSON responses

BugzID: 11250
Bypass security check when reading _security object

Tender #57
BugzID: 11719 all_dbs no longer pulls from partition map.

The partition map is updated from a changes listener. When new dbs are created an immediate all_dbs call may not reflect the latest state. all_dbs now pulls directly from the shard_db db.
BugzID: 11719 all_dbs no longer pulls from partition map.
Fix userCtx field in _external request object
Use stock CouchDB OAuth handler
Update spec to include accumulator in timeout response

BugzID: 11432
Update skip_message to handle new accumulator
Fix up type specifications