Rename `table_name` to `join_table`.

`table_name` is a property of `ActiveRecord::Base` subclasses. Avoid the
potential conflict.
Ensure records from scopes are not readonly

Introduces a problem where `pluck` does not work on the subclasses.