cleanup for events

1) util.isObject -> Array.isArray; 
2) -1 loop when .emit has 3+ arguments
3) remove unnecessary length var
4) util.isUndefined -> handler == null