Clean up event listener handling for node 0.10

f4bd9a43ba13984 fixed most event listener issues with node 0.10. This patch
fixes some additional issues that slipped through and avoids directly pushing
event listeners in general.

The main remaining issue was that event listeners were not removed after being
processed in ApiRequest.prototype._processListeners. It was also questionable
if listeners that are added after the response became available were processed
properly. This patch gets a fresh listener queue copy (which is now spliced in
0.10) before processing the next batch of listeners, and makes sure that each
handler removes itself from the queue on being called by adding it with
once().

Change-Id: Ia7a76abae42e59820ec6c25b8c8b35b84e99f767
Merge "Clean up event listener handling for node 0.10"