Support alternate config files via argv[1].

Meant for bringing up test instances and so on when you're working
in the code tree where your primary Giles instance is (which is not
great practice, but we should support it anyhow).
Objectify chat.

This provides only one immediate benefit: if something goes horribly
awry with the chat module, it's now caught as an exception and the
server doesn't crash.  This is a good thing!

Its real purpose, though, is to let chat and its objects get hot
reloading via the admin module, which is super-useful for adding new
functionality while the server stays up.
Allow reloading of the chat module.

Now that it's a class, this is easy.
Make reload_admin()'s magic less magic.

It turns out that I didn't need to use admin_mod because of the
fact that we're inside the admin module itself, but that seems
like pretty serious DFM.  Make the reference explicit so it's
clear to a casual reader that "we are reloading the admin module
as provided from this newly refreshed module."
Objectify login as well.

For the same reasons as chat: (relative) crash-proofing along with
reloadability.
Log chat tracebacks.

The reason for this should be obvious.
Allow reloading of the login module.

This completes (for the moment) the objectification/reloading work
and should allow a given Giles instance to stay up even longer
without needing a restart.