Merge branch 'release/v0.4.5' into develop

* release/v0.4.5:
  Updating CHANGELOG for v0.4.5
Adding packagist badges to README
Removing redundant Cpu class, making EventDispatcher private in Mainframe
Removing bad spec test from MainframeKerbel (to be replaced with functional test)
Adding Common\Formatter, a decorator for Encodable text
Adding SlackFormatter, updating specs to include formatted user data.  Adding \ArrayAccess to CommandInterface
Updating Mainframe to allow a callable as a matcher
Loosening type restriction on matcher in Mainframe/Adapter/AdapterInterface
Ensuring matchers implement MatcherInterface, or are callable
Loosening type restriction on matcher in Bot/AbstractBot
Fixing DocBlock on Bot/AbstractBot::getMatcher()
Updating DocBlocks for AbstractBot::reply() and AbstractBot::tell()
Adding shout() to AbstractBot
Refactoring exception calls in TypeCollection into a single method
Extending Common\Hash in Message\Partial, deprecating getters
Updating deprecation notices in Common\Hash and WebHook interfaces
Cleaning up Message\Collection specs
Simplifying AttachmentBuilder internals
Adding attachment building capabilities to MessageBuilder
Updating formatter to use brackets for pre-formatting, which avoids escaping special identifiers via htmlspecialchars