Add cardinalities for concepts of model type 'business control flow'

This reflects the current state originally implemented by Endrju and
Sobhi.
Add general concepts which may be used in all of the existing model types

This reflects the current state originally implemented by Endrju and
Sobhi.
Add cardinalities for concepts of model type 'business process map'

This reflects the current state originally implemented by Endrju and
Sobhi.
Add cardinalities for concepts of model type 'composition/decomposition'

This reflects the current state originally implemented by Endrju and
Sobhi.
Add Graphrep files for current classes/concepts and relations

This reflects the current state originally implemented by Endrju and
Sobhi.
Merge branch 'feature-cardinalities' into develop

This reflects the current state originally implemented by Endrju and Sobhi.
Merge branch 'feature-graphreps' into develop
Implement first AdoScript to check whether a model meets certain constraints

This analyzes the current model and stores all the possible paths from
an outgoing 'StartEvent'. Further details are given below:

1. The model to be analyzed has to be of type ControlFlow_20130808. If
   it is not, further execution is being canceled.
2. All existing concepts/classes of type StartEvent are being listed;
   the number of StartEvents being 1 is a condition for further
   proceeding.
3. All the possible paths beginning with a StartEvent are stored in an
   multi-dimensional array.
4. Echos whether a certain path ends in an Event called StopEvent or not.
Adjust cardinalities for AnyProcess and DecisionNotSpecified

This fixes the issue of the concept AnyProcess cannot be connected to
DecisionNotSpecified. Changing the cardinalities of this two concepts
is more a practical resolution as it is more desirable to be able to
dock DecisionNotSpecified onto AnyProcess.
Merge branch 'feature-150' into develop

First implementation of an algorithm for checking constraints.
[151] Update the log message of the evaluation script

This enumerates the currently implemented constraints in a clearer way.
Furhermore all the possible paths within the graph are not added to the
log message anymore. Basically it is just checked whether the paths end
in a StopEvent or not. If not, for this specific end node in the graph
a particular message is being printed out.
Merge branch 'feature-149' into develop
Merge branch 'feature-151' into develop
[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 an in 'stopevents' defined stop event which
    basically skips further processing.

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

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

In previous commit 730c107 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.
[153] Fix cardinalities: allow DecisionNotSpecified to be connected to Merger
Merge branch 'feature-152' into develop
[151] Adjust log message

This provides minor changes in the log message carried out by
Alexander Bock.
Merge branch 'feature-153' into develop
Merge branch 'feature-151' into develop