Improved roles with regards to subclassing.

It is now possible to use roles with subclasses. I also made it possible
to combine blacklists and whitelists with subclassing.
Created a very simple DateType
Changed the behavior of roles regarding subclassing.

Subclasses now override a role but inherit other roles.
Merge remote-tracking branch 'jokull/master' into jokull

* jokull/master:
  Changed the behavior of roles regarding subclassing.
  Created a very simple DateType
  Improved roles with regards to subclassing.