(#1172) fix total_rows/migration for websql/idb/ldb

This commit adds several major fixes to the WebSQL,
IDB, and LevelDB adapters:

1) total_rows now correctly returns the number of
undeleted documents, ala Couch.

2) keys/startkey/endkey/key/limit/offset logic
is now largely handled in the database for performance
(esp. WebSQL).

3) Various fixes to the above to match Couch behavior.

4) Migration logic to ensure that even if the database
schema changes, existing users can be migrated
to the new schema. Migrations have unit tests.
(#1505) - Make errors in tests clearer
(#1519) - avoid utils.call when not needed
(#1518) - remove dangling nulls
(#1517) - pull doc count into it's own functio in leveldb
(#1510) - allDbs should throw error
(#1512) - make sure setup test runs first
(#1527) - Cleanup scripts section of package.json
(#1296) - cancel changes since latest
(#1535) - Minor cleanup to scripts section of package.json
(#1259) - Document that windows test instructions likely wont work
(#1414) - HTTP bulkDocs should return forbidden errors
(#1387) - prototype based plugins api
(#1115) - Add event emitter for DB change events
(#1343) - Enable running tests against saucelabs on travis
(#1348) - Bump version for 2.0.0 release
(#1546) - remove mocha-ui
(#1552) - don't overwrite _id and _rev in put requests