Proposal For #2953 "http client"

Proposal For #2953 "http client"

This is implementation of the "http client", based on cURL.

It is not finalized - I whould like to hear opinion about it before writing docs and support files.

Note: a lot of code duplicates one from 'yii\web\*'. It seems some common part of it should be extracted. I suggest creating namespace 'yii\http' at the core, which can hold 'DocumentInterface', 'ParserInterface', 'FormatterInterface' and realted classes. So both 'yii\web\*' and 'yii\httpclient\*' can be based on it.
This is a reason of crearting 'DocumentTrait' - I supposer it can be used for 'yii\web\Request' and 'yii\web\Response'.