Track request upload progress and emit events

New `Request#uploaded` method for request upload progress and a `Request#progress` function to register progress event listeners.