Add blank to ShippingMethod's TaxCategory select

Addresses https://github.com/spree/spree/issues/4914

Now ShippingMethods whose `tax_category` is `nil` will display a blank selector rather than falsely displaying the first TaxCategory in the system.

Note that due to the UI implementation it appears to be impossible to return to selecting `nil` after a TaxCategory has been selected.
Add pry and pry debuggers to common spree dependencies

Including dev environment.

Fixes #4957
[api] Convert payment_method_id to string in CheckoutsController

Without this, payment information coming in through JSON will result in a payment which has no source
[api] Do not wrap parameters in OrdersController

This fixes the problem where POST /api/orders with no parameters would result in the parameters coming to the controller as params[:order], courtesy of this:

https://github.com/rails/rails/blob/master/actionpack/lib/action_controller/metal/params_wrapper.rb

Disabling it means that we can't submit JSON parameters without a root element, but really we don't advise people to do that, so I think it's a small thing to lose
Fix typo in Spree::ReturnAuthorization model
Destroy asocaited adjustments when order is changed to move out of taxable zones.

Fixes #4840
Allow token-based payment sources in Payment::Processing

Related to #4598 and ZD#4573
Merge pull request #4923 from jordan-brough/fix-order-reload

fix Order#reload method signature

Conflicts:
	core/spec/models/spree/order_spec.rb
Temporarily lockdwon i18n version to fix build. Fixes #4973
Move set_shipments_cost call to Order#update_from_params

This stops the method from being called whenever Order#checkout_steps is called and thereby reduces some queries

This needs to be called in the checkout_specs to ensure that the state isn't jumped as long as this method is called.

Fixes #4898
Fixes #4979
Shipment cost is now included in spec totals.
Revert "Add pry and pry debuggers to common spree dependencies"

This reverts commit 7c367d5ca0e2f293813278a0e37d9f731aa8befb.

CI breaks with these errors: (lack of ruby 2.1 apparently)

  [03:52:55][Step 1/1] in directory: /mnt/72aec43634788be0/core
  [03:52:55][Step 1/1] `ruby_21` is not a valid platform. The available options are: [:ruby, :ruby_18,
  [03:52:55][Step 1/1] :ruby_19, :ruby_20, :mri, :mri_18, :mri_19, :mri_20, :rbx, :jruby, :mswin,
  [03:52:55][Step 1/1] :mingw, :mingw_18, :mingw_19, :mingw_20]
  [03:52:56][Step 1/1] `ruby_21` is not a valid platform. The available options are: [:ruby, :ruby_18,
  [03:52:56][Step 1/1] :ruby_19, :ruby_20, :mri, :mri_18, :mri_19, :mri_20, :rbx, :jruby, :mswin,
  [03:52:56][Step 1/1] :mingw, :mingw_18, :mingw_19, :mingw_20]
  [03:52:56][Step 1/1] `ruby_21` is not a valid platform. The available options are: [:ruby, :ruby_18,
  [03:52:56][Step 1/1] :ruby_19, :ruby_20, :mri, :mri_18, :mri_19, :mri_20, :rbx, :jruby, :mswin,
  [03:52:56][Step 1/1] :mingw, :mingw_18, :mingw_19, :mingw_20]
Fix admin payment form not being displayed on payment method change

When there are multiple payment methods, clicking the radio button for a payment method other than the first causes the payment forms to not be displayed.

How to replicate in sandbox:
1) Create an order through the admin until the payment state is reached
2) Create a new payment for the order (at this point the credit card form should be visible)
3) Click the Check radio button
4) Click the Credit Card radio button
5) The credit card form is no longer visible
Merge pull request #4983 from bonobos/fix/admin-payment-switch-2-2

Fix admin payment form not being displayed on payment method change
Merge pull request #4956 from brchristian/patch-3

Add blank to ShippingMethod's TaxCategory select
Use prepend_before_filter to try calling before apply_coupon_code. refs #4926
Added missing translation for back_to_shipping_categories_list

Fixes #4993
Do not blindly accept just any month for CreditCard expiry

Fixes #4971

Conflicts:
	core/app/models/spree/credit_card.rb
Silence two warnings

Fixes #4985

Silences this:

    [WARNING] You are not setting Devise.secret_key within your application!
    You must set this in config/initializers/devise.rb. Here's an example:

And this:

    [deprecated] I18n.enforce_available_locales will default to true in the future. If you really want to skip validation of your locale you can set I18n.enforce_available_locales = false to avoid this message.

in the sandbox app.
Disassociate inventory units when a ReturnAuthorization is destroyed

Avoid leaving the inventory units in a bad state.

Fixes #4935