Computer foreignKey for belongsTo() from the "as" option.

If "foreignKey" is not provided, but "as" is provided, then compute the
"foreignKey" from "as". This behavior matches the behavior of hasOne().
Fix errant references to this.options.underscored in associations.

The correct references should always be in relation to this.source
or this.target, for their respective tables.