Initial commit of AWS.S3.ManagedUpload

Usage:

```js
var fs = require('fs');
var zlib = require('zlib');

var body = fs.createReadStream('bigfile').pipe(zlib.createGzip());
var s3obj = new AWS.S3({params: {Bucket: 'myBucket', Key: 'myKey'}});
s3obj.upload().
  on('httpUploadProgress', function(evt) { console.log(evt); }).
  send({Body: body}, function(err, data) {
    console.log(err, data)
  });
```

Or via the ManagedUpload class:

```js
var fs = require('fs');
var zlib = require('zlib');

var params = {
  Bucket: 'myBucket',
  Key: 'myKey',
  Body: fs.createReadStream('bigfile').pipe(zlib.createGzip())
}

var upload = new AWS.S3.ManagedUpload();
upload.on('httpUploadProgress', function(evt) { console.log(evt); });
upload.send(params, function(err, data) { console.log(err, data) });
```

References #135
Use generalized require() for browser support.
Update upload logic and add tests
pass error to callback early in finishSinglePart
otherwise, setting `Location` on `data` will raise.
Merge pull request #406 from bkw/s3-managed-upload-catchPartErrors

pass error to callback early in finishSinglePart
Reverse merge from 'master'
Refactor AWS.S3.ManagedUpload class
Correct linting error
Rename maxQueue to queueSize
Refactor and improve test coverage.

API has changed to:

    AWS.S3.upload(params, [options], [callback])

If no callback is supplied, the operation returns an object that
can call `.send([callback])`.

Example:

    s3.upload({Body: body}, {queueSize: 10}, function(err, data) {
      console.log(err, data);
    });

    // or

    s3.upload({Body: body}, {queueSize: 10}).send(callback);

The `options` parameter can be omitted.
Extra test coverage for s3.upload() integration
Fix linting error
Add documentation for AWS.S3.ManagedUpload and AWS.S3.upload
Update upload() signature in docs
Recommend using .upload() instead of .putObject() in guide
Fix variable name in example
Add more guide content
Add more integration tests in the browser
Add more documentation about leavePartsOnError setting [ci skip]
Merge pull request #427 from aws/s3-managed-upload

S3 Managed Upload Support