(#664) - fix traverseRevTree in visualizeRevTree

With rev_tree slight redesign traverseRevTree got changed but in
visualizeRevTree we got its copy as traverseRevTree was not exposed
as public API. Now it is but we probably don't plan to support it.

It is quite sad we don't have any tests for this plugin and it just
randomly broke.
(#663) - Support for doc_ids in replication
(#599) - Correct implementation of total_rows in db.query api
(#599) - Limit option and total_rows in allDocs api
(#599) - Fix lint errors
(#648) - Remove console.logs
(#648) - More console.log fixes
(#635) - compact deleted document (test)

Added test so we make sure that also deleted document get compacted
(#635) - compact deleted document as well

Now deleted document are also compacted.
(#635) - low level method document availability support

parseDoc and merge have to support new availability option
(#635) - api.get support availability in rev tree
(#635) - make comapction use status from rev_tree

Start with idb adapter
(#635) - refactor websql and leveldb adapters
(#635) - move more logic to generic adapter (auto_compaction)

In order auto_compaction to work I moved modification of the whole
rev_tree into compactDocument in generic adapter. It then sends
revisions which we want to delete and modified rev_tree to adapter
specific method which does the compaction process.
(#635) - merge_rev_tree tests now support availability

That's quite to much said as they don't check if the availability
is merged correctly.
(#635) - make merging status less explicit

If we merge statuses {} and {} we now get {} and not {status: missing}
(#604) - add brief description and examples of options usage

* rev
* open_revs
* conflicts
Prefixing databases
Updated docs to reflect prefixing changes
Change prefix to _pouch_ for better readability