02/27/15:

#2344 Added []-operator for accessing arrays.
Note that a more generic implementation is difficult because there is no non-generic implementation of ValueTypeArray and casting to IEnumerable<object> does not work due to the generic constraint of ValueTypeArray.

Changed the casts to the a more intelligent Convert.ToDouble/Int to avoid unboxing issues e.g. when casting a boxed int to double.
Note that Convert.ToInt32 has a slightly different behavior than a int-cast (rounds when converting double->int), but this does not break any compatibility since we never converted to int before.

#2326: Moved phenotypic diversity analyzers one level up (since they can be applied to both single- and multiobjective problems). Added wiring in the multiobjective problems. Changed base class to SolutionSimilarityCalculator and adjusted analyzers.

#2269
Per-layer parameter can be used to define all multiple layers.
If less values are specified in the array the last value is used for all subsequent layers.
I.e. when the array has the length 1, all layers use that same one value.
From a usability point of view, this behavior may has to be discussed more in detail.