Refactor tar _write_file() method

Case 124373: Refactor Filesys::POSIX::Userland::Tar->_write_file() method to
ensure the amount of data written for a file is indeed the amount committed
to in the archive member's header; if a file is shorter than indicated, then
sufficient padding is provided to compensate; and if a file grows longer
than promised, then the file output is truncated, and a warning is emitted
indicating as such.
Merge branch 'case124373' of git://deathstar.dev.cpanel.net/~erin/filesys-posix/erins-filesys-posix