Split out the remote accessors into a UserRightsProxy object, so the main interface code
doesn't have to worry about it -- it just uses the regular User object interface functions,
without caring that it's got a remote object here.
Should have cleaner behavior with numeric ID accesses as well; it now does a name lookup even for remote ones, and logs with that.