read output from child check process before waiting on it so the pipe do...

...esn't fill up and block the child's std output causing timeouts in check runs when child has more than 54k bytes of output.

@gerbercj @obrie @wjossey 

Also changed timeout checks to be a critical instead of an UNKNOWN. This is iffy but I think its important that we notice when checks aren't working properly. I could see this both ways so feel free to override this.