Fixing some text rendering issues that appear after updating FontAweesome

Fix select2 styles. Fix some button text rendering problems on OSX.

Fix table reorder handle align.

Fix .select2-choices background
Lockdown select2-rails temporarily.
Update select2-rails now that it has been fixed.
Put checkboxes before descriptions in shipping methods form

Fixes #3483
Fix IE8 compatibility issues with checkout.js and products.js

IE8 has a weird bug where function definitions outside of a ready statement were not being acknowledged
Set default stock location on old shipments. Fixes #3510
Use update_all to close order adjustments

That would use one single query to update all adjustments
Use a hash instead of sql fragment.
Fix broken spec.
Fix migration to run when no tax category set on product.
expand order number field size to 32
[api] Add eager loading for stock items, products, images and prices to variants#index
Dont update shipments and payment in order cart

Adding a product to cart on a fresh spree install currently runs 41 SQL
queries. This change makes the POST orders/populate request run 34 SQL
queries.

So each time the store needs to run `order.update!` and the order is not
completed yet we run 7 less queries. That could make a big difference
when lots of promotions are involved.

Fixes #3513
Drop spree_mail_methods table

It's no longer used since Spree 2.0

Fixes #3511
[backend] Add _spec suffix to stock_transfer test
Refactor and add test to Spree::Payment#set_unique_identifier.

Fixes #3493
Bump aws-sdk

Should be pretty safe, and this allows use of newer AWS services.

Change-Id: I24b4a006409f202138699d63285eee508fe86c4b

Fixes #3514
Use includes(:model) in promotion_credit_exists? check for fewer queries

Fixes #3517
override permalink of deleted product for creating new product of same name without errors
override permalink of deleted product updated test

Fixes #3471