cleaning up the Engine component

- moved commands in the Engine component to their own files in the
'commands' directory
whitelists and blacklists added to chat channels

- chat channels can now have a whitelist and a blacklist, controlling
who can join the channel
- channel list shows invite only channels (whitelists)
- introduced a bug where names consisting of only spaces can be added to
whitelists or blacklists