support "Expect: 100-continue" header

When the header is set the body is only sent if the server answer with a
100 continue status. In other case `hackney:stream_body/2` and
`hackney_multipart:stream/2` return {stop, Client}. When the body is not
streamed Hakney takes of this header and only send it if needed.

This changes allows you to received immediately the server errors and
allows you don't send the body for nothing.

More info about this header:
http://www.w3.org/Protocols/rfc2616/rfc2616-sec8.html#sec8.2.3