18 equality definition for types

Implemented equality based on name an type features (component, bounds, arguments)
https://github.com/kfgodel/diamond/issues/18