Add support for multipart form data via the request options

(See original proposal here #924)

#### Summary
Instead of creating your own form for multipart uploads and having to append data separately, pass the data you'd like to attach via the request options argument. For more advanced cases where the third append argument is required, the current solution can still be used.

#### Before
```javascript
// From README#Forms
var options = { /* ... */ };
var r = request.post(options, someOptionalCallback);
var form = r.form()
form.append('my_field', 'my_value')
form.append('my_buffer', new Buffer([1, 2, 3]))
// ...
```

#### After
```javascript
var options = {
    url: 'http://service.com/upload',
    formMPU: {
        my_filed: 'my_value',
        my_buffer: new Buffer([1,2,3])
    }
};
request(options, someOptionalCallback);
```
this was copied from `test-form.js`, so master is already broken there in 0.8. It can now be removed from there as well (but probably in a separate issue)