This replaces Input with BaseEvent, CommandEvent and RegexEvent. *let the madness begin*

BaseEvent allows you to pass a 'base_event' parameter to it, so that it can get the majority of its attributes from another BaseEvent.

This allows for IRCConnection now puts BaseEvent into the message queue, rather than dicts.

Then CloudBot.process creates events using the new constructor with base_event=the event gotten from the queue, rather than Input(**message).

This also renames a bunch of elements on Input/BaseEvent:
* raw -> irc_raw
* prefix -> irc_prefix
* command -> irc_command
* msg & lastparam -> irc_message
* paramlist & paraml -> irc_paramlist

This also gets rid of the Input/BaseEvent.params attribute.