(#2190) - remove LEVEL_BACKEND and build plugins

Whoop whoop, we have plugins, baby!

Basically you can read the new [CONTRIBUTING.md](https://github.com/pouchdb/pouchdb/blob/2190/CONTRIBUTING.md) to see what I did, but you can now specify `?adapters=websql,localstorage,idb,memory` or whatever crazy list of `preferredAdapters` you want, and the tests will automatically load the separate plugin files and set the `preferredAdapters` to be those adapters in that order.  So we can also test `?adapters=websql` in Chrome now.

I named the plugins:

* `pouchdb.memory.js` where the adapter name is `memory`, corresponds to memdown
* `pouchdb.localstorage.js` where the adapter name is `localstorage`, corresponds to localstorage-down
* `pouchdb.idb-alt.js` where the adapter name is `idb-alt`, corresponds to level-js

I was gonna name the in-memory plugin `memdown`, but then I realized users don't care that behind the scenes we use memdown; they just care that it's in-memory.  So `memory` is more succinct IMO.

Also another nice feature is that now `PouchDB.preferredAdapters` is exposed globally, so users can re-order the adapters however they want (e.g. to put websql before idb).

Only a few things left to do:

* watchify and re-bundle the plugins while you run `npm run dev`
* the plugins have too many dependencies and the files are huge, need to trim 'em down