-----
An exit can be renamed by either the owner of the exit or the owner of its source.
The standard verbs that are called in exit movement are:
:move(object) - moves the object via this exit
:invoke() - equivalent to :move(player)
When an exit is invoked on a particular object (via exit:move(object)), the following occurs.
(1) The exit may be locked against the object, in which case we print the
nogo messages and quit.
(2) (room=exit.dest):bless_for_entry(object) is called. Assuming that exit is recognized by room as being a legitimate entrance (i.e., is in room.entrances), this will enable room:accept(object) to return true.
(3) object:moveto(room) is called and the various messages (see `help exit-messages') are :announced/:told. Note that this, in accordance with the way the builtin move() (and hence the default :moveto()) works, we get a call to room:accept(object) which checks for the room itself being locked against the object, and otherwise returns true if the blessing in the previous step worked. The move is performed, here:exitfunc(object) and room:enterfunc(object) are called. In particular, room:enterfunc clears the blessing bestowed in (2) now that it is no longer needed.
In general, the move may fail, in which case we :announce the (o)nogo_msgs.