(#2428) - fix args for remove()

It turned out there were a lot of argument
combinations that we weren't checking in the
tests, which is probably why this one slipped
through.

In addition, I added a fix to make it so you can
specify the rev in the options, and it'll use that
if the _rev isn't defined in the document. This is
not something I want to advertise in the docs (since
the usage is complicated enough as it is), but I think
it may help folks who are used to the CouchDB style
where we think of the Pouch options as being equivalent
to the Couch HTTP params.