fixed incomplete output when it's more than buffer size

* using Time::HiRes::clock_gettime in both parent and child SIG{'CHLD'}
results in incomplete output always

* read all buffers until possible after child has finished

* added test to detect incomplete output (compared to backticks)