Add binaryfunctions.hh as an include to CollectiveCommunication

CollectiveCommunication serves as a fallback implementation, when
code that is written for parallel computations is executed in sequential.
The template parameters BinaryFunctions are no-op then, but they are
still there to define the interface. However, in a generic (parallel)
implementation these will be given. Including binaryfunctions.hh here
avoids error messages due to no-op template parameters whose names
could not be found by the compiler.