Modified hadd to run in parallel using a TSelector

Modified hadd to use a TSelector derived class which merges files in parallel
using multiple workers. This can be selected via the -p[numWorkers] flag
when running the program. hadd will invoke a selector with the specified
number of workers. Each worker will merge a fraction of the input files
and the client will merge the result of each worker.
The SelectorArgs class is a container which holds the arguments to be
passed to the workers that will merge the files.

Signed-off-by: Andru Gheorghiu <gheorghiuandru@gmail.com>
Merge branch 'v5-34-00-patches' of root.cern.ch:/home/git/root into v5-34-00-andru
Started working on integrating IgProf in PROOF
PROOF: tag identifying additional logfiles

Tags are now used for the Valgrind and IgProf wrappers, generating
additional logfiles. They are appended to the "ordinal" number both for
the master line and the workers lines. Appending tags to ordinals also
incidentally fixes a bug leading to having the additional logfile
concatenated to the ordinary logfile while getting the first.
Fixed PROOF pct of completion when getting logs
No newline in PROOF logfiles retrieval progress
Added PROOF logfiles preprocessing before sending
Added quotes for igprof cmd in PROOF-Lite
Fix the cloning of the OneDimMultiFunctionAdapter. The X vector was not copied.
See http://root.cern.ch/phpBB3/viewtopic.php?f=15&t=16824
Add missing protection in OptimizeBasket.

Some of the branch (because they have been disabled for
example) may not have any entry.  So we now protect
against this case (actually seen in stress).

This fixes ROOT-5410
fix memory leak in HistFactory::Sample
Apply fix suggested here: http://root.cern.ch/phpBB3/viewtopic.php?f=14&t=16930
Add basic implementation for GetColumns. Fixes ROOT-5332.

Patch by Oliver Freyermuth.
Fix https://sft.its.cern.ch/jira/browse/ROOT-5053
Fix https://sft.its.cern.ch/jira/browse/ROOT-5413
use forward declaration instead of include
Added ${PYTHIA6_DIR} from command line as a location for Pythia6
Fix documentation about use of Minos in RooAbsPdf::fitTo,   see #ROOT-5423
follow usual unix return code convention: 0 return from main means all tests good, return value > 0 counts number of failed tests (helpful as part of a git bisect script)

Signed-off-by: Wouter Verkerke <verkerke@nikhef.nl>
deprecate RooComplex class, adapt rest of RooFit code base to use std::complex instead, clean up RooMath interface while I'm at it

The old RooFit functions all had "error function" somewhere in their
name, which was incorrect. They all calculated w(z)=exp(-z^2)*erfc(-i*z).
The new functions all have different names. If you used to call one of
the old functions in your code, the new functions you want to call are
either faddeeva_fast (which correspond to the fast interpolated version
in the old RooFit code), or faddeeva. The new code also implements the
(complementary) error function erf(z) (erfc(z)) for complex arguments z.

Since RooComplex is never persisted anywhere in RooFit, the class can be
dropped in a future release. New code should use std::complex and the
faddeeva, faddeeva_fast, erf, erf_fast, erfc and erfc_fast routines in
RooMath directly. The old routines in RooMath and the RooComplex
constructor print deprecation warnings.

The deprecation warnings for RooComplex and old style RooMath calls are
designed for maximum annoyance (every use of a deprecated function
prints a warning to stdout, so users change their code), but there is an
upper bound to cause minimum offence (after 4096 warning messages, the
printout of warning messages stops, so log files will not fill up disks,
and jobs can still be run).

Signed-off-by: Wouter Verkerke <verkerke@nikhef.nl>