Add http::chunked_encoder:

This transforms a ConstBufferSequence into a new ConstBufferSequence whose
data is encoded according to the Content transfer encoding rules of RFC2616.
The implementation does not copy any memory but also does not coalesce
buffers into larger ones if the input data is in small pieces.
Reviewers: @rec @donovanhide
The first version looks better to me. Better still would be:
```
someComplexFunction(aReallyReallyLongFunction(itsReallyLongHere,
    moreLongStuff(variable, variable, variable)), ashorterFunction(1, 2, 3  4 ),
        aReallyReallyLongExpressionHere, aReallyReallyLongExpressionHere);
```