(#15) - handle NaN/Inf/dates

Ensures that PouchDB mimics CouchDB's
behavior for mapreduce keys containing
NaN, Infinity, -Infinity, and dates.

I ended up pulling the normalize function out of mapreduce and into collate.  I didn't see a convention for how we
want to export a dependency with multiple functions; hope what I chose is okay!

This PR is paired with pouchdb/collate#7.