prepend foreign key name with alias

Allows support for multiple associations to the same model
require a via key on collection associations 

When multiple foreign keys are found on a associated model, via is required