Kfsio library: change IOBuffer::ZeroFill() method to use available space, if any, in order to make the behavior consistent with other IOBuffer methods. Make IOBuffer::CopyIn(pos) method work with pos set to end of the buffer list to make the behavior consistent with other IOBuffer methods.
Client library: fix sparse files holes zero fill by using ZeroFillSpaceAvailable() instead of ZeroFill(), as the later wasn't using the available space prior to the last change, and it will extend the io buffer, if needed. Fix space available handling in the kfs protocol state machine response handler in the case where only part of the available space used: ensure that the unused portion of the available space still remains in the buffer, by moving this portion of the space back to the buffer the response content.