[152] Make the procedure PROCESS_GRAPH reusable

The procedure now takes in a string 'startevent' and an array 'stopevents' as
arguments. That makes the procedure a lot more reusable in other contexts.
It will now get all the possible paths going out from the class defined by
'startevent' and processes through until there is either

(1) nothing left to process (meaning no more succeeding objects) or
(2) until it reaches a in 'stopevents' defined stop event which basically skips
    further processing.

The parameter 'stopevents' can be empty as well (meaning: (array(0))).
Given that the algorithm simply will process to all the end nodes.

Furthermore changes contain a more centralized approach of handling the output
log message.
[152] Fix unintended behavior of the graph processing algorithm

In previous commit ca070325a9975d2386fe534c935e3b90e63f51d2 the algorithm
only worked when the parameter 'stopevents' was empty. In case it was not
empty it would just ignore the defined stop events and proceed iterating
through the graph. The improvements being made by this commit fix these
issues.
Merge branch 'feature-152' into develop
[153] Fix cardinalities: allow DecisionNotSpecified to be connected to Merger
Merge branch 'feature-153' into develop