Adds extra arguments to 'off' methods.

Resolves #97.
Ehh, I'm not that big a fan of the helper. Here's what it looks like:

```js
function removeHandler(store, name, callback, context) {
  var names = name ? [name] : _.keys(store);

  for (var i = 0, length = names.length; i < length; i++) {
    name = names[i];

    // If there's no event by this name, log it and continue
    // with the loop
    var event = store[name];
    if (!event) {
      debugLog('Attempted to remove the unregistered command', name, this.channelName);
      continue;
    }

    if (
      (!callback && !context) ||
      callback && (callback === event.callback || callback === event.callback._callback) ||
      context && context === event.context
    ) {
      delete store[name];
      continue;
    }
  }
}
```

So0o0o many arguments. It's just kinda ugly. I think it's easier to read if we keep it inline at the expense of a few bytes.