Unfinished remote rename implementation.

So, like, I have a few nitpicks here:
* I still haven't found a nice way to interface native callback and user callback. I need some insight on API design here.
* The rename test seems to suffer from the same issue delete test suffered.

Waiting on any insight.