Allow capacity and length to be different for user buffers
Summary:
Currently, takeOwnership lets a user pass in a data buffer and wraps it in an
IOBuffer. However, the capacity and length of the user buffer are required to
be same.
Added a new API to allow buffers where the capacity and length can be different.
Users of existing API should not be affected.
Test Plan:
1) Added new test case to IOBufTest that checks buffers with length
different from capacity
2) Run existing IOBuf test cases to verify no regressions
Reviewed By: brianp@fb.com
FB internal diff:
D536575