Implement body option

This option will allow to remove all code in `sent` and leave it only as API wrapper around `got`.

##### options.body

Type: `string`, `Buffer`, `ReadableStream`  

Body, that will be sent with `POST` request. If present in `options` and `options.method` is not set - `options.method` will be set to `POST`.
Now we have use cases like this (from readme):

```js
// Stream mode.
got('http://todomvc.com').pipe(fs.createWriteStream('index.html'));

// Therefore got('http://todomvc.com') call by itself is valid btw.
```

In this case `got` calling `req.end()` inside, but if we want this to work:

```js
stream.pipe(got('http://todomvc.com')).pipe(fs.createWriteStream('index.html'));
```

We should not call `req.end()` inside, right? At this point `got` can't determine this inside (or I missing something).

---

P.s and there is this edge case, which is troublesome too:

```js
stream.pipe(got(/*...*/, function () {}));
```