Flexible Init with/without config file cannot be added to applications

Created by: pnorbert

I want to recover from failure of not finding the xml config and just initialize with default. This results in non-zero ranks hanging in broadcast.

    try {
        ad =  new adios2::ADIOS("adios2_config.xml", world, adios2::DebugON);
    } catch (std::ios_base::failure &e) {
        ad = new adios2::ADIOS(world, adios2::DebugON);
    }

When the config file is not present, rank 0 throws an exception, which is caught with the catch statement and then a default init is called. However, all other processes are stuck in a broadcast call for receiving the file content from rank 0 in adiosXML.cpp::ParseConfigXML()

Suggestion: in adiosComm.cpp::Comm::BroadcastFile, the exception should be caught (on rank 0) and then the broadcast should happen with some constant string that indicates error. After that all process should throw the same exception.