Extract AssociationMatcher#through as its own submatcher
Extract AssociationMatcher#dependent as its own submatcher
Swap out protected for private methods in AssociationMatcher

This also includes some method rearranging so that each would fall under the
correct scope.
Replace instance variables with readable attributes in AssociationMatcher
Update NEWS.md to mention AssociationMatcher refactoring