Added generic dR-based overlap removal method.

The method will take an object and a container and return true if the
object overlaps with any object in the container (except itself) within
some specified dR cone. It's not obvious that such a method should be
used, since it can't be used in all cases and complicates the code
slightly. Should readability be the ultimate goal, or is minimizing code
duplication more important?
Added photon-X overlap removal methods.

Added methods for pho-e, pho-mu, and pho-pho OR. These methods use the
new generic overlap checking method. I don't yet have a pho-jet method.
Added photon-jet OR method.

This method currently uses the generic overlap checking method.