Who knows how someone may type it, so we'll assume they mean us no
matter what craziness is involved.
Also, clean up the tests a bit such that text changes need only be done
in one place, while the triggering can be run in multiple places easily.
- Group up data in more human-friendly ways.
- Allow for generation of text and html responses from a base format, in
most cases
- Move (almost) all processing outside the handler.
This also alphabetizes the keyword list which may have been a mistake.
The keywords don't reflect everything (given aliases) and maybe the old
structure made it easier for people to know where to put things
by looking for similar subjects.
Includes some improvements suggested by @crazedpsyc and @moollaza on
previous revisions.