Commands System Rewrite

This commit is huge, and is basically what I've been working on for the
past couple of days. This is still very much unstable and unusable, but
this is one of the first steps in the right direction. There still isn't
any argument checking in the HandleCommand yet, but is the next thing on
my to-do list. Again, lots more to do to this, and it still needs extra
bug testing.