Creating Bot.Component module.

Pulled most of the types out of Bot into Bot.Component. This will allow for
the Bot module to import required BotComponents without creating circular module
dependencies.