Support single table inheritance

Caching should use table name in the key, rather than class name.
Make sure Arel::Nodes::In is supported when matching where_values