Don't remove column value when validating nested attributes for one_to_* association where association foreign key is the model's primary key

When the hack used to allow validates_presence validations to
work on foreign keys for nested attributes, it was not careful
enough and ends up removing values when there is already an
existing value in the column.

Since the only column this affects is the association foreign
key column, and the foreign key gets reset in the after_save
hook, the only time the bug manifested itself is when the
foreign key column was also the primary key for the associated
model, in which case it removed the primary key and caused the
save to fail.