Check associated class exists in JoinTableMatcher

*This fixes the failing tests for Rails 4.0/4.1*

Rails 4.0 and 4.1 have different mechanisms for deriving the name of the
join table for an association which involves accessing the actual
associated class. This raises a NameError if the associated class does
not actually exist, causing existing tests to fail with an unexpected
exception.

Before, when join table existence was being checked in the main matcher,
`join_table_exists?` would not be called if the associated class didn't
exist because it would be short-circuited by `class_exists?`. Now that
join table verification has been extracted to a submatcher, the check
for join table existence *always* runs. This means the potential
NameError mentioned above would be raised in Rails 4+.

Thus, we add a check for the existence of the associated class before
checking for the existence of a join table, causing the same
short-circuit as was originally in place.