Added robot model interface class

Addresses issues #8 and #9.
That all should be purely virtual (my mistake).