(#910) - Create seperate external projects section of documentation
(#908) - Only result in null, if it would else be undefined
(#903) - Added opts argument to the compact() method globally.
(#840) - Adding helper for db.changes({since:'latest'
(#737) - Remove event listener for setup once triggered
(#393) - require PouchUtils in idb adapter
(#393) - Fix window checks, add ignores and load adapters for browserify
(#913) - Seperate integration and unit tests
(#913) - Add setup and teardown to new integration tests
(#873) - Adding skip support for views and allDocs
(#913) - Add ability to specify remote vs local database in test args
(#393) - Use same md5 module between node + browser
(#393) - Correct reference to extend when in node
(#913) - Add basic tests to new suite, compile tests to html
(#923) - No more commas in uuids

split needs to be applied to the full char set or we end up adding a string to an array (resulting in a whole lot of commas showing up in our uuids).
(#920) - Support for custom builds with adapters/plugins

Add support for comma/space separated list of adapters or plugins
as cli parametrs.

Eg:

To build only idb adapter, use

    grunt --plugins=mapreduce

or to build only idb and http adapter, use

    grunt --adapters='idb http'

Signed-off-by: Rohan Jain <crodjer@gmail.com>

(#920) - Build name based on included modules

Build name is generate based on the modules which are included
via command line parameters.
(#925) - Make sure the change applies to the value we're watching

If application used `chrome.storage` for other means, this listener
would receive all changes and fail due to `db_name` not being present in
the object representing the change.
(#928) - Remove non working submit tests, add notification of tests complete
(#926) - HTTP Basic Auth for Userinfo in the url.

Before, HTTP Basic Authorization header was set only when user/password
were passed in the opts object for the instantiation of PouchDB, now
http://user:password@host works also.
(#789) - Count pending revisions in a correct way

When multiple conflicting revisions for some id were present on a remote
database, `pending` variable was incremented only by one to account for
the document itself, but it was then decremented for every conflicting
change. This effected in negative `pending` value, which in turn meant
that `completed` callback was never called (due to `pending === 0` being
false).

This change modifies semantic of `pending` variable to count revisions
to process instead of documents. Calculation of `docs_read` was changed
as well, because it should include all fetched documents, including
conflicting revisions - until now it was counting something else than
`docs_written`, so a situation when `docs_written !== docs_read` was
possible (which should not happen, in general, `docs_read ===
docs_written + docs_write_failures`).