Add a read buffer size to PhutilChannel
Summary: Ref T4241. See D7772. Just like ExecFuture, allow the internal channel buffer to be limited in size so when we're plugging a fast pipe into a slow pipe we don't end up with all of the data in memory (subject to actually using these features).
Test Plan: Added unit tests.
Reviewers: btrahan
Reviewed By: btrahan
CC: aran
Maniphest Tasks: T4241
Differential Revision: https://secure.phabricator.com/D7774