Core: Silence addEvent in non-browser env
Docs: Removed IRC channel links in CONTRIBUTING.md

GitHub doesn't support links with the irc protocol, so these were dead links.
Package: Update devDependencies to slightly newer versions
Core: Remove triggerEvent, which isn't used or documented anywhere.

Fixes #459
Core: Fix indentation and comment position in objectType()
Outro: Fix formatting and improve the comment
Test/jshint: Whitespace
Test/node/narwhal: Update require path, execute QUnit.load()

The require path changed during the module refactor, but wasn't updated here.
The QUnit.load() call is currently necessary for any tests to run. This needs
another review.
Tests: Avoid using the 'module' global to enable running tests in node
Core: Properly check for existence of document

Avoids addEvent() getting called in non-browser envs.
Export: Only export to the variable that we check for.

Checks for `window` to export in browsers, module.exports to export in node or
comparable CommonJS envs.
Grunt: Add non-browser test as grunt task. Runs existing tests in node.

Fixes #400
Test/jshint: predef => globals
grunt 0.4.1 => 0.4.2 plus updating grunt-contrib-* versions
Gruntfile: inverting ifs
Core: whitespace && addEvent => addEvent() in error string
export.js: removing a comment line
outro.js: .call() => ()
Tests: JS Style (spacings) and TODO comment
Package.json: very specific versions of dependencies (without a tilde)