Specifically, rebinding the command handler doesn't take effect until after
all input lines have been handled. This means handle_command_prereg doesn't
get new values when it ought to.
F it, I'll just use regular expressions (Str.split). They're easier to code,
the code looks cleaner, and it fixes a buf with a case I hadn't considered.
This is where I realized that there's no point in passing around a
"server" object, since it's entirely reasonable to expect one server
per running instance.