fix hasOne when foreignKey#field defined

get include query accessing the foreign key field in th abstract query generator on include queries
unit test added that breaks without the fix
Ah yea, I'm running into this problem again with `hasMany` n:m. I think I might take a stab at fixing this in the Sequelize code tonight. 

What do you think about `identifierField` vs `identifierAttribute`? `identifierAttribute` would keep consistency with `foreignKeyAttribute` but it may not be necessary? 

What even is the difference between `foreignKey` and `identifier`? Are they interchangeable?