Convert test stubs to @vars

This makes it possible to add more test files later and still get at the
stubs.
Extract test stubs into their own file
Change a few devDependencies to use the ^ operator

The ^ semver operator allows us to still easily declare our minimum
required version including patchlevel, but it allows minor upgrades, not
just patchlevel upgrades. This way e.g. coffee-script can upgrade to
1.8.0 instead of being stuck at 1.7.1.
Fix some miscellaneous typos in the test descriptions
Expand the test stubs

* Add more information to the stubs.
* Tweak the stubbed functions to behave slightly more like the real ones
  (e.g. test channel name / id before returning).
* Fix the channel name used in some of the tests to match our stub
  channel.
* Attach a real Hubot Brain to the stub robot.
* Call SlackBot.loggedIn before each test, to ensure more of the bot is
  initialized.
Tweak SlackRawMessage to only copy own properties

SlackRawMessage copies its properties from the slack-client Message
object. It should only be copying own properties, though, or it ends up
with functions that Message defines (which it turns out are enumerable).
Add a couple of basic tests for SlackTextMessage

More tests are coming.