PacketAssert: bugfix and code cleanup

I found a bug in PacketAssert test module. It was caused by processing the
last line twice - inside the interrupt handler and in the run() function
as well. I've cleaned up the code a bit, too.

The changes include

 - removal of the tcpdump's output processing from the interrupt handler
 - tcpdump termination polling is done in separate loop
 - tcpdump's output is stored into temporary file instead of using pipes
 - tcpdump's output is processed after the tcpdump command terminates

I have tested this heavily and it looks much more reliable now.

Signed-off-by: Jan Tluka <jtluka@redhat.com>
Signed-off-by: Jiri Pirko <jiri@resnulli.us>