Pf2 stream

Solves several potential "race conditions" in code related to HCAL, Jet and Tau.
Introduces more const-correctness
convert to stream several producers (notably Jet, TauDiscriminators and PFRecHits)

The original logic and implementation are always preserved.
Minor modifications to ensure const-correctness in tau-discriminators where the method
"discriminate" has been made constant to ease const-correctness tracking


No regression expected, no regression observed even running with 4 threads.

Now reco (with no output) is 85% efficient with 6 threads and 70% efficient with 12 threads

Because of reading of MVA from files the number of opened file descriptors may easily grow beyond single user limit when running with many threads
This should disappear when MVA will be read from the DB.


In all these Producers memory usage (and more in general usage of common resources) can be optimized using GlobalContexts and RunCaches
right
this is why the original modification introducing the topology pointer in a db payload should have never made into a release.
Now is there and we should cope with it.

My preferred solution would be to store the detIndex (denseIndex) in the hit and use it consistently all over sim-reco-dqm in place of the detId. Besides consistency and safety it would be infinitely more computational efficient