Fix issue where payments can get their credit cards disassociated from them.

This was initially discovered when integrating with the paper_trail gem, which
calls dup in an after_update to try to capture the changed state of the
object, however, this could happen elsewhere and it is good to be
defensive here.

Fixes #4512
Pass source attributes to force validation on spec
check show deleted when searching for deleted products
default show deleted to fault and carry it's state over

Fixes #4509
Account for 1.3 upgrade when warning about migrations

Fixes #4518
Remove unused spree_backend.js file leftover from asset migration.
Remove unused spree_backend.css file leftover from asset migration.
Add spree to extension gemfile to make frontend/backend available.
Fixes #4527
remove selenium gem and selenium conditionals, running on poltergeist perfectly now
Touch resources when updating positions
fix collection cache key with total models count
remove assign_stock_changes_to

Nobody likes this function. It showed up to a party once and everyone
else left. Its parents are ashamed of it. It listens to bad music.
Removing it is doing the whole class a favor.

Fixes #4532
[backend] remove csrf-meta from partial bodies

Fixes #4531
Require spree_api in backend

So that users can use spree_backend by only adding that gem to their
Gemfile and not having to manually require api
Revert "[backend] Always show 'Tracking' label on shipments"

This reverts commit cab88fa391244fa02ca74a1eb3c1b88c26d8394b.
Port setting current_store by request host from spree-multi-domain.
Replace Spree::Config[:site_name] with Spree::Store.current.name.

This gets rid of the millions of deprecation warnings in the rspec
output.
Add failing test showing payment processing is set in a transaction.
Turn off transactions around Spree::Order state transitions.
Mark test of subclassed order as pending.

This test is now failing but it is unclear if it was ever really
testing what it claims to be testing. An order with no email
is not valid and should not save, so the test should not pass.