Move exception handling code of ProcessFile to Main
Make packet processing multithreaded

We are using ParallelWorkProcessor by Matthew Watson that processes packets in parallel while
preserving the order of the output (writes) (more info http://stackoverflow.com/questions/15021469/pipelines-multiplexing-and-unbounded-buffering).

Concurrent priority queue implementation by Microsoft, slightly modified (AutoResetEvent).

This seems to be a good compromise between increased speed in processment and memory usage.
Using the number of available processors by default (thread count configurable in config).