(#2462) - Fix API documentation for cache constructor option

Updated the documentation for new PouchDB's cache option.
The flag is a sub property of the ajax option, not a top
level option.
(#2207) - provide additional information about the db.compact() method

Give some high-level information about the compaction operation itself,
highlight its availability only with the http adapter. Provide a link
to CouchDB's docs for more low-level detail.
(#2458) - explicitly mark idb changes as readonly

I had to Google for awhile before I figured out that
the default is readonly. This is the only case where
we're not being explicit.
(#2424) - add cors credentials to errors.md

Forgot to add this when I originally wrote this
error page. Not every user will use credentials,
but it's probably better to just have them enable
everything and then tweak it later after it works.
(#2435) - disable saucelabs for now

*in the distance, the sound of a bugler mournfully
playing Taps can be heard*
(#2484) - fix readOnly replication for CORS/40*

Currently we only mark a source database as
read-only if it returns a 401. Really we should
do it for any 40*, and also in the case of CORS
the error status is a deceptive 0, so this doesn't
help.

Ugly hack, but I verified manually that using a
CouchDB that only accepts CORS methods GET and HEAD,
I can now replicate in Safari 7, IE 11, Chrome 36, and Firefox 30.
(#2428) - fix args for remove()

It turned out there were a lot of argument
combinations that we weren't checking in the
tests, which is probably why this one slipped
through.

In addition, I added a fix to make it so you can
specify the rev in the options, and it'll use that
if the _rev isn't defined in the document. This is
not something I want to advertise in the docs (since
the usage is complicated enough as it is), but I think
it may help folks who are used to the CouchDB style
where we think of the Pouch options as being equivalent
to the Couch HTTP params.
(#2337) - fix replication event listener memory leak
(#2447) - link pouchdb-server's pouchdb to us in travis

Travis seems to be an unusual environment where the
immediate dependents of a module that depend on that module
are not automatically symlinked to it.  So this fix is to
only do it in Travis.

This is required to unblock #2442.
(#2442) - Allows replication fields in docs
(#2460) - websql: update_seq should be an INTEGER

This fixes errors with the update_seq on
Android 2.x using the SQLite plugin, because we
need to know the type of the column in order to
bind it properly.
(#2492) - fast fail in travis

This will ensure that our "allowed failures" don't run
if any of the non-"allowed failures" fails.

So e.g. if PhantomJS fails, we won't bother running
the Safari/iPhone builds.
(#2490) - fixed http proxy
(#2445) - Got rid of undefined in error message.
(#2477) - use a Map and Set instead of an object when we have user supplied values
(#2477) - fix reserved ids in revsDiff
(#445) - Implement Incremental MD5 calculation

Replace jkmyers-md5 with Spark-MD5 in order to calculate MD5 hashes
incrementally. The use-case for this change is to avoid blocking the UI
thread when adding large attachments.
(#2500) - Remove shorter timeout and enable saucelabs
(#2468) - Document PouchDB Collate as external resource
(#2473) - Make changes batch size configurable