Add support for deep decendants to select_subclasses

This allows grandparents and other ancestor models to return descendants to the deepest level possible.

I can add tests for this feature if it is desired, but I wanted to start the discussion with a pull request.

I find this very useful for multi-table hierarchies such as the following:

    class Student(User):
        ...

    class Staff(User):
        ...

    class Teacher(Staff):
       ...