Big ole stinking hacky fix of a merge of open source work to improve the...

... function of this plugin that has diverged in the community a fair bit.

This commit incorporates work that allows the plugin to function properly for sale items.

The major issue is that Variants were not correctly announcing themselves as on_sale?=true

When the 'price' was being copied to a line item it was always copied as a the full item price because on_sale? would always report false.

This set of fixes allows the variant to correctly report its status.