Rework cloudbot.py

This patch reworks cloudbot.py to use a 'CloudBotWrapper' class, instead of just having everything outside of classes. This also makes it so cloudbot.py won't run if `__name__ != "__main__"` for support with documentation creation and stuff like that.