OK, I didn't know `db.emit('error', err)` throws if there's no listener.  That sounds like a better solution, because the big red console text is even harder to miss. And then people who know what they're doing can create a listener if they really want to.

I don't know what the standard procedure is for mixing synchronous `throw`s and error callbacks in JavaScript, but I'd prefer to just throw the error, if for no other reason than that we wouldn't have to write two separate tests for Pouch and Couch, and also because it's not normally an error you should consume and handle.