Don't override accessor if model has column already

Say users want to add a `name` column in spree_variants. They can't make
use of that attr on a variant instance because Spree would always
delegate that method to a product.

Now it would only delegate if the model doesn't have that column. That
would be all cases in a default scenario.

Fixes #4012