Provide a 'relationship_name' option for associations.

Allows for eager loading associations referenced by a relationship name that differs from the entity's actual name. A real-world example I found was Opportunity -> Owner. Without these changes, the relationship name would have been User, since an Opportunity's owner is a User, but SOQL requires referencing it as Owner since the FK on Opportunity is OwnerId