First pass at "rabbitmqctl rename_current_node"
Create a way to mutate pids and use that rather than creating "fake" pids.
Oops
Don't halt execution if RABBITMQ_CTL_ERL_ARGS is set.
WIP towards rabbitmqctl rename_other_node.
Rearrange things a bit. We now have something that seems to work.

Merging a modified database back into a running cluster seems to be a
bit of a non-starter; Mnesia blows up with "Failed to merge schema:
Incompatible schema cookies." So instead we do something similar to if
we were doing upgrades: we always create the modified backup, but only
load it if we are the first node in the cluster to start; if not we
reset our mnesia state, resync with the cluster, then tell the cluster
to forget our old incarnation and update its queue records for the new
one.

This also has the advantage that we don't need two rename commands, we
just have the local offline one. Which is hopefully nicer
operationally.

It does mean that we go to the trouble of taking the backup and
modifying it only to throw it away if we turn out to be a secondary
node, but it should not be too expensive.
Don't be so keep to call upgrade_mode/1, it can die in all sorts of ways.
Support renaming other remote nodes at the same time, in case we want to do a big bang.
We are presumably the source of truth now, so make sure we boot.
Remove commented out bit, remove pointless RPC (we're in the cluster by that point, we can make Mnesia changes ourselves).
Rename things
Oops
Improve the chance of not losing a bunch of data.
Less io:format, more rabbit_log.
Detect starting as the old node name after a rename and roll back. Also rename a bit.
And unbreak clusters.
Rename again
Allow argument-pairs to rename_cluster_node to go in any order (and thus allow remote-only renamings). Don't use mnesia:transform_table/3 since it's rather picky about which disk nodes are up.
Put all the rename-related temp files in a directory together, and keep copies of the rewritten configs so we can roll back without having to re-edit them.
Swap location of backup and regular config files. A bit less logical, but we need them to be in the right place when starting for big-bang upgrades to work.