Add buffering to the process status pipe

This is my first pass at fixing https://github.com/opscode/chef/issues/2062 which uses chef-client 10, hence this is based on the 1.4-stable branch.  After code reviews I'll forward port the changes to relevant branches for chef-client 11 and 12.