Refactor: Repo #*Many methods now return an EventEmitter object 'StreamingRepoOp'.  This objected allows the caller to attach event handlers to 'data', 'error', 'cancelled' and 'done' events. It exposes #cancel and #exec methods for executing and cancelling the operation.