Use stub_model rathen than mock_model

Make rails 4.0.4 build happy

Conflicts:
	core/spec/models/spree/promotion_spec.rb
Save Asset rather than touch

spree_assets doesnt have timestamps fields and as of rails 4.0.4 it wont
touch associations anymore for models that dont have timestamps fields
Properly call Product#destroy. Fixes #3659
Fix promotion eligibility rules

Prior to this change, a promotion's determination as to whether it has been applied to an order would always fail, since the order's calculation of whether a promotion credit exists compares against a promotion action, not a promotion. This change makes a promotion check whether its promotion actions have been applied to the order to see if it is on the order.

Fixes #4445