Improve variants backend form

Variants are not removed along with its options values. Example:

When admin deletes an option type all variants associated with that
record are not removed. However they are not displayed in admin
anymore due to a condition which did not allow to display variants with
no option values. Even though variants are still displayed, their radio
buttons, on the front end.

This patch aims to allow admin to associate variants with new option
values and edit option values associated with a variant. I coulnd't see
any reason why admin couldn't to that. It also tries to make better use
of both Spree and Rails FormHelper API.

fixes #2276

Should Spree frontend display variants that have no option values? Maybe I should change that on this PR as well.