improve io::Appender functionality
Summary:
Add an operator()(StringPiece) method to Appender, so it can be used
directly with folly::Formatter objects. Also add printf() and vprintf()
methods to Appender, for places that need to use existing printf-style
formatting.
This also includes versions of push() and pushAtMost() that accept
ByteRange objects. Previously we only had push() implementations that
took separate buffer and size arguments.
Test Plan: Added new unit tests to IOBufCursorTest.cpp
Reviewed By: davejwatson@fb.com
Subscribers: trunkagent, doug, net-systems@, exa, njormrod
FB internal diff:
D1583684