Merge pull request #131 from slackhq/better-formatting-removal

Better formatting code
Create new Message types for slack messages

Regular text messages now use a TextMessage subclass called
SlackTextMessage, which includes both the parsed text (as `text`) and
the unparsed text (as `rawText`).

Other messages that used to be ignored are now received as either
SlackRawMessage or SlackBotMessage. These do not descend from
TextMessage so they won't be seen by normal `hear` or `respond`
listeners.

A few new Listener classes were created, SlackRawListener and
SlackBotListener, to make it slightly easier to write code tailored for
these new message types.
Add some comments on how to use the new listeners