Add virtual destructor
Manually cast types passed to std::max

In CMSSW 6 gcc the arguments to std::max can't
be coerced to the same type.  Generates really gnarly
compiler errors.
Add direct HDFS access, xrootd is messed up today.
Merge remote-tracking branch 'upstream/master' into HIBackgroundSubtraction