events: Add EventEmitter::prependListener

Currently there is no way to ensure a newly added handler will be called first without accessing `_events[type]`. This used to be possible using `emitter.listeners('type').unshift(...)` but #3442 changed that.

I currently poke at `_events` from my own user-land code to accomplish this, which I'd rather avoid.