Spree::Variant.class_eval do
  has_many :variant_images, -> { order(:position) }, class_name: '::Spree::VariantImage'
  has_many :images_for_variant, through: :variant_images, source: :image
  has_many :images, -> { order(:position) }, as: :viewable

  def images
    images_for_variant
  end
end

Spree::Variant.class_eval do
  has_many :variant_images, -> { order(:position) }, class_name: '::Spree::VariantImage'
  has_many :images, through: :variant_images, source: :image
end

Clean up variant images association
Clean up variant images association

The "has_many :images" was broken since it didn't specify the class name, and I couldn't figure out why these were defined this way anyway.
Consolidating "images_for_variant" and "images" into a single normal association.  Will make stuff like preloading easier to work with.
