Making unRemove work via a Meteor.method call

Self.update(selector, {$unset: {removed: true}}) does not work because it will trigger a call to self.findOne to retrieve the "doc" for other hooks, but it will return null because the document has the removed flag set, thus will be filtered out by self.findOne (or self.find).
Solution: call the update with { _id: "<id>", removed: true } (see implementation of find and findOne above.)
But: Meteor only permits removes by ID on the client.
Thus, we have to send the request to the server via an RPC and do the update with the { removed: true } flag set on the server.