Implement a state lock version to prevent race conditions in checkout controller. refs #4190

Fix broken specs.

Add regression test for state lock version. Fixes #4190

Conflicts:
	frontend/spec/controllers/spree/checkout_controller_spec.rb
Add circle CI setup

fixes #5506