Allow hubot to react on events

Events might get triggered by scripts.

For example: You have a script, which can trigger and event that some one committed to a repo. This script can be used by anyone, but the reaction should be different by every company. So it's possible to trigger a build, or just post a message in chat.

As a plus with the same event triggered by different scripts, so it wouldn't make a difference if you commit into github or just another (maybe SVN) repo. But other scripts can rely on that 'commit-received' command and act the same way.
added docs for event system
Allow hubot to react on events

Events might get triggered by scripts.

For example: You have a script, which can trigger and event that some one committed to a repo. This script can be used by anyone, but the reaction should be different by every company. So it's possible to trigger a build, or just post a message in chat.

As a plus with the same event triggered by different scripts, so it wouldn't make a difference if you commit into github or just another (maybe SVN) repo. But other scripts can rely on that 'commit-received' command and act the same way.
added docs for event system
examples and fixed documentation for event system
Merge branch 'events' of github.com:nesQuick/hubot into events

Conflicts:
	README.md
	src/robot.coffee
Updated method headers

to make them more understandable. see https://github.com/github/hubot/pull/344#discussion_r3017158
enables cli switches as env vars
Merge pull request #414 from nesQuick/paramsasenv

cli switches defaults now changeable via environments variables
Merge pull request #344 from nesQuick/events

Allow hubot to react on events
Update subheader in README
Fix users()

Was gettig `Cannot read property 'data' of undefined`, because @brain was never set
Merge pull request #419 from justincampbell/master

Fix Brain#users
bump to version 2.4.7
Add debugging information for when listeners matches message. Fixes #398

Signed-off-by: Josh Nichols <josh@technicalpickles.com>
Fix Error Unable to call the listener: ReferenceError: inspect is not defined
Added launch scripts for windows

Signed-off-by: Philipp Beckmann <philippbeckmann@pabnet.de>
Merge pull request #422 from philippbeckmann/packagewin

Added launch scripts for windows
Merge pull request #421 from omares/master

listner.class expects utils.inspect to be available
Add 'play' method to allow for playing of sounds.

There is no ability to send sounds to Campfire directly from the
response message object. However, using Campfire you simply "/play
sound".

Add this ability to the `Adapter` and the provided default adapter
implementations. It is added to the `Shell` adapter to allow for an
easier time at testing / debugging scripts using the local shell.

Add to the `Campfire` adapter as this is the core place where it
can be used.