Implement nonblock reading of trace_pipe

Newer kernels will just hang up on trace_pipe once you've disabled tracing and
we've read everything in the buffer, but older kernels are not so nice.  So
implement non-blocking reading of trace_pipe.  This way we can not hang on older
kernels and we want to capture the trace info for a specific process.

Signed-off-by: Josef Bacik <josef@toxicpanda.com>