stream processing of spectra
The requirement that all spectra had to fit in memory simultaneously is
lifted. Spectra are now handled via streaming--that is, they need not fit in
memory all at once. Currently, something like N * C spectra are held in
memory, where C is the number of chasers and N is an arbitrary constant
(currently 100). (N could probably just be set to 1 with little loss of
performance.)
Minor cleanups of logging calls.
This version has MS2 file validation, but commented out because it uses too
much RAM.