Restore "Add pry and pry debuggers to common spree dependencies"

This reverts commit 7006953963f65e69c14c6f88f2a2e87e83d8b20d.

Was breaking CI but that should be fixable by updating bundler on the CI.
Remove js api key that was missed during 2469735fba9720d4cb0895576a197a375d569071
Order#finalize should use save!

save will silently ignore any errors. It is much better to raise an
error than to silently fail.
Merge pull request #4986 from athal7/remove-api-token

Remove js api key that was missed during 2469735fba9720d4cb0895576a197a3...
Order#merge! should use save!
Merge pull request #4989 from jhawthorn/save_bang

Use save! when modifying the order
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.
Include Store in ControllerHelpers.
Set missing credit card attributes when possible. Fixes #4972
API Orders#show should only return the order json. Fixes #4979
Use prepend_before_filter to try calling before apply_coupon_code. refs #4926
Switch to cancancan to fix issues with custom abilities being unable to properly initialize sprees namespaced models.
Merge pull request #4978 from jordan-brough/restore-pry-debuggers

Restore "Add pry and pry debuggers to common spree dependencies"
Lookup order based on user_id to prevent started orders from showing after logout. Fixes #4940
Fix specs for i18n changes. Fixes #4998
Added missing translation for back_to_shipping_categories_list

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

Fixes #4971
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.
Added localization for multiple SKU info

Fixes #4994
Validate price maximum.

Price is constrained to be precision: 8, scale: 2 at the database level,
but that validation isn't reflected in the model.

This will lead to errors when prices are 1,000,000 or above, which is a
lot in USD, but 1 million Vietnamese Dongs is less than $50 USD.

Fixes #4944