Adds more specific error messages to promotions.

When checking if a promotion is eligible, the rules can specify why they
are ineligible by populating `eligiblity_errors`. The first error is
then displayed to the customer instead of a generic message.

Conflicts:
	core/app/models/spree/promotion/rules/taxon.rb
	core/config/locales/en.yml
	core/spec/models/spree/promotion/rules/taxon_spec.rb
	core/spec/models/spree/promotion_spec.rb