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.
Test for meaningful type error messages.
Implement does? for roles.

Not entirely sure it should be available on classes and instances but it
seems useful at this distance. Also made with a class method as it
should have been, will add instance role composition later.
Use punctuation for clearer and predicate methods.

As it's nicer and more ruby-ish.

Also dropped the unnecessary qualification of global classes.
Explicitly forbid lazy required attributes.

They don't make sense.
Flesh out README.md.