Improve variants backend and frontend form

Variants are not removed along with its options values and they
shouldn't because they might be associated with one or more values

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 were 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 couldn't see any reason
    why admin can't to that
  * Make better use of both Spree and Rails FormHelper API
  * Hide variants on frontend product page that does not have any option
    values associated with them