(#136) - Ignore "changes last seq" against CouchDB 2.0

In clusterd CouchDB, the sequence number returned to the client is an
encoded representation of the various shard states. Whilst the last
"seq" value in _changes.results and the "last_seq" field should evaluate
to the same thing on the server, their encoded representation may differ.
Therefore, the assertions in this test don't hold for clustered CouchDB.
(#136) - Ignore tests for #3136 against CouchDB 2.0

These appear to be testing the internal PouchDB implementation of _changes.
Many of the assumptions don't hold against clustered CouchDB so skipping
them for now.
(#136) - Fix "changes limit and view instead of filter" against CouchDB 2.0

Do not assume incremental sequence numbers in the test.
This commit also adds a helper function to dig out specific items from
_changes (seems the simplest possible solution rather than importing
lodash or similar).
Merge pull request #3249 from willholley/136-changes-limit-and-view-instead-of-filter

(#136) - Fix "changes limit and view instead of filter" against CouchDB 2.0
(#136) - Fix "#3136 style=all_docs" against CouchDB 2.0

The _changes feed does not guarantee order so remove this assertion.
(#136) - Skip large doc_ids tests against CouchDB 2.0

CouchDB 2.0 does not (yet) support POST requests to _changes.
Re-enable when https://issues.apache.org/jira/browse/COUCHDB-2530 is fixed.
(#3251) - add read queue to avoid leveldb corruption
(#136) - Fix "#3136 style=all_docs & include_docs" against CouchDB 2.0

_changes feed does not guarantee order so remove this assertion.
(#3278) - Add hasOwnProperty check for IE11
(#3281) - refactor websql

Also moved http.js to http/http.js for consistency.

Also finally got rid of the need to manually add ok=true
for `bulkDocs`'s _local responses; `utils.processDocs` now
handles that.
(#3286) - test in Chrome 36

Chrome 36 had no blob support, 37 was when they added broken
support, and 38 was when it was finally fixed.

I would like to test in all three. Chrome is the most popular
desktop browser on the planet, and it's also very close
to what mobile Android users experience. Let's play it safe
and test all three versions.
(#3287) - explicitly set fs to false in browser env
(#136) - Fix "changes to same doc are grouped" against CouchDB 2.0

Do not assume ordering of _changes and remove the sequence number
assertion. Sequence numbers in clustered CouchDB cannot be tested for equality
without decoding them into the Erlang representation.
(#136) - Fix "Changes with conflicts are handled correctly" against CouchDB 2.0

Do not assume ordering of _changes in the test. CouchDB 2.0 does not
currently handle ?conflicts=true when fetching _changes (COUCHDB-2518)
so skip these assertions for now when testing against CouchDB master.
(#136) - Fix "change entry for a deleted doc" against CouchDB 2.0

Do not assume _changes are ordered or that sequence numbers are incremental
when testing against CouchDB 2.0.
(#136) - Fix "calling db.changes{since:.." against CouchDB 2.0

CouchDB 2.0 sequence numbers are an encoded representation of the different
shard states so cannot be easily compared.
(#136) - Fix "testing conflicts" / CouchDB 2.0

Using the conflicts=true flag with _changes is broken in CouchDB 2.0
(COUCHDB-2518) so ignore assertions on conflicts being returned until
this is fixed.
(#136) - Fix "Testing successive new_edits.."

Fix "Testing successive new_edits to the same doc, different content"
against CouchDB 2.0. Sequence numbers in CouchDB 2.0 cannot be
compared for equality and the assertions around last_seq don't seem to
be a core part of this test - just remove them.
(#136) - call done() when skipping changes last seq

When skipping the "changes last seq" test against CouchDB 2.0 call
done() instead of returning true.
(#136) - call done() when skipping changes last seq

When skipping the "changes last seq" test against CouchDB 2.0 call
done() instead of returning true.