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);
```
Merge pull request #263 from balint42/dimension_types

Modified dimension producing factories to return specific dim types

OK