(#114) - First simple compaction test
(#114) - Add generic compaction code

Implement compaction using adapter specific code:
* _removeDocRevisions
* _getRevisionTree
(#114) - Implement compaction in idb
(#114) - implement compaction in websql (WARNING!)

WARNING:
This implementation WILL conflict with #344 as right now we assume
that rev is unique per database. Merge with caution!
(#114) - more complicated compaction test
(#114) - fix idb adapter compaction
(#114) - add test with double compaction
(#114) - easier tree creation
(#114) - simplify test
(#114) - more tests
(#114) - util putAfter modification

See it's comment
(#114) - Implement compaction stuff for leveldb
(#114) - fix naming in idb
(#114) - cleanup of pouch.adapter.js

* comments about compaction added
* remove console.log
(#114) - add if for undefined seqs

We don't want to bother leveldb with deletion of undefined keys
as we don't have to
(#114) - deletions could be more parallel now
(#114) - make deletion parallel in idb

Make deletion requests parallel so that idb could process it somehow
faster.
(#114) - fix linting errors
(#114) - new compaction tests

Compaction for leveldb fails if revs.count === 0
See: https://github.com/daleharvey/pouchdb/pull/555#discussion_r3365543
(#114) - fix leveldb compaction failure

If there was no revisions to compact compaction failed to call
callback