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
Fix order_details_spec when edit tracking
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
Upgrade handlebars to 1.3.0

I noticed today that this was out of date and using a release candidate.

Probably best to upgrade it.