Revert "Restrict rails to 4.0.9"

This reverts commit c4d23312df7eca8978d2a07fc1db0778954520b7.
Cherry-picked from 2-2-dev 98f73f5915efcb2caaa1f878e9abdc17bf02c340

RSpec 3.1 support & Fix a couple Rails 4.0.10 regressions.

Conflicts:
	api/spec/controllers/spree/api/orders_controller_spec.rb
	cmd/lib/spree_cmd/templates/extension/extension.gemspec
	common_spree_dependencies.rb
	core/spec/lib/spree/core/controller_helpers/auth_spec.rb
	core/spec/lib/spree/core/controller_helpers/order_spec.rb
	core/spec/models/spree/credit_card_spec.rb
	core/spec/models/spree/order/finalizing_spec.rb
	core/spec/models/spree/order/payment_spec.rb
	core/spec/models/spree/order/risk_assessment_spec.rb
	core/spec/models/spree/order_spec.rb
	core/spec/models/spree/payment_spec.rb
	core/spec/models/spree/preferences/store_spec.rb
	core/spec/models/spree/store_spec.rb
	frontend/spec/controllers/controller_helpers_spec.rb

Conflicts:
	common_spree_dependencies.rb
	core/spec/models/spree/credit_card_spec.rb
	core/spec/models/spree/payment_spec.rb
	core/spec/models/spree/return_authorization_spec.rb
	frontend/spec/spec_helper.rb
Update specs from rails 4.0.10 regression fixes to make them pass
Merge pull request #101 from bonobos/fix-4-0-10-regressions

Fix 4.0.10 regressions
Allow disabling Spree Frontend

(NOTE: We're debating the best long-term solution for this over [here](https://github.com/spree/spree/pull/5360) but I didn't want that to block us right now from moving forward.  My hope is we'll find the best solution over there and then we can revert this if needed and pull in whatever gets into spree master)

Via a config preference.

We use our own frontend along with spree-api and this change will allow us to easily disable the frontend on our prod boxes yet keep it enabled for development so that we can test that our spree changes are meshing well with spree frontend code.

We can also try to make sure that we prevent requests at the nginx layer, but this seems like a nice way to make sure we really close off access to frontend so that we never end up with customers accidentally hitting frontend endpoints and getting really confused.  Setting up a config will also allow other extensions (like spree_auth_devise) to read the same setting.

Conflicts:
	frontend/app/controllers/spree/store_controller.rb
Specify table name for with_coupon_code scope

Fixes https://www.honeybadger.io/projects/33720/faults/7515264/notices/2#notice-environment