Add support for httpDownloadProgress and httpUploadProgress events

Usage:

```javascript
var request = s3.putObject(params);
request.on('httpUploadProgress', function (progress) {
  console.log(progress.loaded + " of " + progress.total + " bytes");
});
request.send();
```

References #178