Parallelized processing to improve performance.

Changed the processing so that multiple paths may be searched in
parallel. Also parallelized processing of the different file types.