Support filename and content type in Curl uploads

Used by guzzle/guzzle#538

Before these were interpreted as part of the filename to be read from

  Guzzle\Http\Exception\CurlException: [curl] 26: couldn't open file "/data/fio/guzzle/tests/Guzzle/Tests/Http/Curl/../../../../../phpunit.xml.dist;filename=phpunit.xml.dist;type=application/octet-stream"

Reviewed By: @ptarjan

Differential Revision: D1178944
Fix escaping in LightProcess protocol

The LightProcess mechanism sends newline terminated commands
over a pipe, but didn't escape newlines contained in the payload.

Reviewed By: otto

Differential Revision: D1184482