Fix file creations and permissions for DQM histograms encoded with ProtocolBuffer

Several fixes to the way files containing DQM `MonitorElement` encoded with `ProtocolBuffer` are created and managed:
 * in `DQMFileSaver`, protect a function member call for `FastMonitoringService` pointer by testing whether or not is is a `nullptr`; as a consequence, `ProtocolBuffer` encoded files are saved for non-empty lumisections only in real `FilterUnit` mode;
 * in `DQMFileSaver`, when faking `FilterUnit` mode, set explicitly `umask` to `0`: this is done in order to reproduce what DAQ2 services do;
 * in `DQMFileSaver`, save files containing DQM `MonitorElement` encoded with `ProtocolBuffer` by explicitly setting permissions to `0666`: in principle, this should be handled by the environment or the OS, but `ProtocolBuffer` examples seem to require explicit file permission handling (see discussion in the code);
 * in `fastHadd`, save files merged and encoded with `ProtocolBuffer` by explicitly setting permissions to `0666`: see comment above.
@rovere As specified in the comment, it is done only for replicating what EvF services do. See here:
https://github.com/cms-sw/cmssw/blob/CMSSW_7_2_X/EventFilter/Utilities/src/EvFDaqDirector.cc#L109
The `umask` is run only when testing locally the behaviour of the FilterUnit mode (the call is protected by a boolean).