storageFormats: Make metadata constructor private.

Make the eventMetadata constructor private as it should not be possible to
create objects of this class arbitrarily. This necessitates some changes in the
metadata::merge function and the corresponding adaption in mergeDatafiles.cc.
In addition, some preprocessor magic is required so that root still sees the
constructor as public, as it cannot write objects to file otherwise. It is
doubtful if this works with root 6.