Destroy order if import via api raises any error

So that no unintentionally partial order remains in the database

Fixes #3788

Conflicts:
	api/app/models/spree/order_decorator.rb
Allow recreating deleted stock items

Add deleted_at to uniqueness scope otherwise use cant recreate a stock
item on the same stock location

Fixes #3834
Prefs: don't determine persist? from .connected?

.connected? returns false until a connection is actually attempted. This
meant if the cache was empty, preferences would be set to their default
values and that would be persisted to cache.

This reverts commit 9ca8ef97fb9139a5aecd1f406b21a7fadfdca658.

Fixes #3785
Bump aws-sdk to 1.20.0

Conflicts:
	core/spree_core.gemspec