Rewrote the kind checking for data types

- It now is based on the same algorithm as used for type checking of partially
  annotated bindings.
Merge branch 'master' of github.com:ermine-language/ermine

Incorporated rewritten data type checking into miscellaneous other changes.