first, straight up port
tests work
0.1.0
redo
0.2.0
(#1 #2 #3) - fixes based on notes from dale
(#5) - add build step
(#3) - import the plugin
(daleharvey/pouchdb#1198) - Allow 0/null as mapreduce keys

CouchDB allows 0 and null as separate keys in
mapreduce queries. This commit makes PouchDB behave like CouchDB.
Since this is a multi-repo change that affects pouchdb,
pouchdb-collate, and pouchdb-mapreduce, I wasn't really sure
how to structure this commit, so I'm just including the same
commit message in 3 separate commits.
(daleharvey/pouchdb#1198) - corectly specify dependencies
(#9) - test both local and remote
(daleharvey/pouchdb#1199) - query() supports keys

The query() function now supports keys as an input param.
Keys are hashed in advance, to ensure that the complexity
is O(n) rather than O(n * m), where n is numDocs and m
is numKeys.

Sisnce there are a lot of edge cases for null/undefined/etc.,
I'm also adding unit tests to daleharvey/pouchdb, which
confirm that the functionality is exactly like CouchDB's.
(#13) - misc cleanup
(#16) Add jshintrc

Copy the .jshintrc over from PouchDB, make some minor changes
to fit Mocha, fix syntax.  Add jshint to the test.
(#14) fix ordering in case of multiple emits

When the same doc emits the same key with different values,
CouchDB sorts by [key, docid, value].  Now we do the same.
(#20) - exclude documents that start with underscores
(#22) - 100% coverage
(#19) - don't eval built in reduce functions
(#26) - add promises
0.4.0