Add more tests for ABC behaviour of typing classes (#294)

 Here I am adding tests as discussed with @bintoro (related to #207).

These tests actually revealed three small bugs:

- Old style classes in Python don't have `__mro__`.
- We should use `__extra__` instead of extra in Python2 (since no kwargs in classes).
- We should allow overriding `__subclasshook__` by subclasses.
4 files changed