events: cleanup

1) util.isObject -> Array.isArray;
2) remove unnecessary length var
3) util.isUndefined -> handler == null
null is better than undefined, it tells you that this is supposed value, not just an invalid assign
4) this._maxListeners = this._maxListeners || undefined;
this._maxListeners will be undefined (==10) if previous value was 0