Modified dimension producing factories to return specific dim types

All ```create*Dimension``` and ```append*Dimension``` factories now return their specific type denoted as ```*``` and thus it is now possible to write
```
RangeDimension dim = data_array.appendRangeDimension(ticks);
```
while it still remains possible to do
```
Dimension dim = data_array.appendRangeDimension(ticks);
```
Both is implemented as test.