fix inheritance of elk roles

The attributes and "does" relationship are not correctly inherited
by descendents of ElkRole consumers.  Add some tests and fix the bug
by implementing ElkRole.__subclasscheck__ and delegating to
issubclass in the ``does`` method, which is now a classmethod.

Also add ElkRole.__instancecheck__ for consistency and add
assertions for isinstance and issubclass to the appropriate tests.
roles: remove the does method

In accordance with the idea of implementing Moose paradigms using
Python idioms, remove the ``does`` method in favour of
``isinstance`` and ``issubclass``.
roles: rename __does__ to __with__

The ``does`` method has gone away, so lets rename __does__ to
__with__ to more closely match Moose terminology.

Forward compatibility with Python 3 should be considered.  Perhaps,
like with metaclass, it can become a keyword argument to the class
statement.
update TODO (attribute inheritance solved)