JSON Patch: implement remove operation, with tests

There is one situation in which the implementation differs from the spec: it
refuses to remove the empty pointer.

And you have to wonder what is supposed to happen in such cases anyway? There is
no such thing as "no JSON document" -- except maybe Jackson's MissingNode.