Timing framework improvement

@nkogteva please, review.
It seems to me that opal_output_open/opal_output is not what I want here for the following reasons.

1. The idea of OPAL_TIMING_REPORT into a file is to have all timing events from all processes in one place and isolated from other output. Since timing framework provides global time synchronisation feature (if run with mpirun_prof) we can later sort events by their timestamps and see in what sequence and with what delays they appear on different nodes/processes.

2. If I use opal_output service to output to stdout everything works perfectly and output is merged. Line ordering is not an issue as we can sort them later. The only problem here is to separate timing data from all other output. This can be done using known string prefix that is common for all timing lines.

3. If I use opal_output service to output into a file the problem with output separation goes away, however:
a. I can't create a file at arbitrary location. The placement is application-wide and setted at ORTE level at ess initialization with opal_output_set_output_file_info.
b. I can't merge the output from different processes toghether at runtime. To acheive the initial goal I'll need a distributed postprocessing that will gather outputs from all processes of the application on all nodes.

4. Current implementation that rely on "append" feature and fprintf may not work on all filesystems. If I recall correctly I've seen that some lines was disappearing on NFS. So I need an advice here: what is the easiest way to collect output from all nodes in one file without data loss.
a. The easiest way that I see is to write to stdout (see p. 2) and grep after by a prefix.
b. Other option can be to forward all timing info to the mpirun and do the centralized output. The problem is that we work at OPAL layer that has no communication facilities.
I'd prefer something that would be close to fopen(fname, "a").