First cut of implementing type constraints.

Does the simplest thing possible - run a method and check for the truth.
Differs slightly from Moose in that is_a is for asserting classiness and
type_of for typeyness i.e the former only checks an attribute value
is_a? something and the latter applies value oriented constraints.
Drop unnecessary include in specs.
Move role assertions into a separate spec.

As is tradition.
Update README.md with implemented features.