Allow Variant selection for Products without Options

Currently a bunch of code assumes that a product only has variants if it has options,
even though what really matters is whether there are variants.
This PR checks for the presence of variants instead of options.
Merge pull request #510 from Richtermeister/variants-over-options

Allow Variant selection for Products without Options