(maint) - Use the correct matches in rspec
Rather than checking the notify/require properties, it uses the matchers
that check the dependency graph. That means it can also check transitive
requires/notifies.
It also uses compile and compile.and_raise_error as a shorter way to
check for errors (or the absense of them).