Support single table inheritance.
Use table joins to find matches.

This has two benefits:

- avoids n+1 problem
- works with existing AREL scopes