Add license information
Add gitignore
Add virtual interfaces

Only very basic methods required yet. Documentation as well as specific
implementations according to the defined interfaces to be done.
Add four implementations of data interface

1. Floating point data
2. Data consisting of strings
3. Signed integer data
4. Unsigned integer data

The latter two are implemented as one (templated) class.

Documentation still to be done.