Evaluate coupon codes ignoring case

Current implementation forces case which causes confusion for users
who see their entered coupon code change after input. This strategy
allows user input to be maintained, but normalizes the code before
evaulation using a single, shared method.

Fixes #3365
[promo] Remove a whole bunch o' stuff from 'should allow an admin to create an automatic promotion with free shipping (no code)' that simply didn't need to be there
refactor complete_from_api for order
allow importing of order number through api
expand order number field size to 32
Ensure api line_item price attribute is used if present
Ensure order is refreshed before returning json
Bump aws-sdk to 1.11.1

Fixes #3514
Bump money to 5.1.1
[backend] Make 'Mail Methods' link highlight as the active link when at mail_methods/edit

Fixes #2961
Upgrades Kaminari to 0.14.1

* Removes default_per_page method which does not work to upgrade
  Kaminari. Similar to
  https://github.com/spree/spree/commit/a1f3f21ef1abb1fdbdcbd7ac8fb50e0e704f3c81

  Fixes #3488
[api] Use Ruby 1.8 syntax in spec/models/order_spec.rb
Bump selenium-webdriver
Only run transition callbacks if order state is cart

Calling order.next_transition.run_callbacks with order in payment state
might raise

  undefined method `run_callbacks' for nil:NilClass

And we only need to call that manually when changing from cart to
address

Fixes #3612
Fixes #3613
Fix deleting of images. Fixes #3562

Conflicts:
	core/spec/requests/admin/products/edit/images_spec.rb
Fetch active variant only in order import through api
Identical bugfix as in 07b2c631, but for promo
 Adding data hook for line_item_description in the _line_item partial

 Fixes #3598
 Fixes #3644
Sort products in taxons_controller by spree_products.id

Probable fix for #3064
Bump to selenium-webdriver 2.35.1

fixes 'no such file to load -- zip/zip' errors