Initial attempt at queuing tasks
First quick implementation of visualizing rev tree

Usage: db.visualizeRevTree('key', function(svg) { });
Probably will be refactored to function(err, svg);
TODO:
* show each revision data
* add/delete capabilities
Improve visualization

* mark deleted nodes with grey circle (isDeleted broken?)
* currently works only with idb!
The beginning of the end of code duplication. Extracted api.replicate from the adapters.

This commit marks the start of pouch.adapter.js which will handle all generic api requests as well as general argument parsing.
Revert "Initial attempt at queuing tasks"

This reverts commit 627b9a6bbbc5d9bbea11b5c3d9a9070bc286e0a3.
Rewrite visualization to support public API

* add open_revs to http adapter
* now it works only with http adapter as open_revs=all is not yet implemented in any other adapter
* new usage: db.visualizeRevTree(docId, function(err, svg){});
Mark deleted, winning and leaf revisions

* deleted = grey stroke
* leaf = green
* winning = red
Implement open_revs using idb adapter, small fixes

* pouch.js - add generic error for bad request
* pouch.merge.js - fix Tree comment
* pouch.utils.js - add comments
* add test for open_revs
* add test for get with rev parameter (leveldb fails!)
Implement open_revs, fix get with rev (leveldb)

* get(docId, {rev: rev}) fixed in leveldb (tests added)
* implement open_revs in leveldb
Fix get a doc with non-existent rev
Implement open_revs in websql
Remove console.logs
Merge branch 'master' of github.com:daleharvey/pouchdb into replication-abstraction
Fix for node and generic PouchAdapter
Added pouch.adapter.js to grunt
Make visualizeRevTree standalone plugin
Merge pull request #449 from benrudolph/replication-abstraction

Replication abstraction
Fix basic lint problems
Lock grunt version
Merge pull request #453 from daleharvey/fix-grunt

Lock grunt version