made version attribute a vector of ints
update TestFile to work with changed version
update of File::version documentation
Merge pull request #306 from jgrewe/version

Version as an array of ints
hdf5: createLink method for Group
Block: remove inheritance from IBlock

Move some definitions to source file.
DataArray: move some definitions to source file.
DataTag: remove inheritance from IDataTag

Move some definitions to source file.
Feature: remove inheritance from IFeature
File: remove inheritance from IFile

Move some definitions to source file.
Property: remove inheritance from IProperty

Move some definitions to source file.
Section: remove inheritance from ISection

Move some definitions to source file.
SimpleTag: remove inheritance from ISimpleTag

Move some definitions to source file.
Source: remove inheritance from ISource

Move some definitions to source file.
Entity: remove inheritance from interfaces in base classes
types: rearrange class declarations
Dimensions: remove inheritance from interfaces

Move some definitions to source file.
DataArray: move more definitions to source file
general: optimize imports a bit
compare: front-end vs back-end version

compare in the back-end now takes a shared_ptr of an implementation
the front-end version takes an front facing object