[sample] Provide feedback when loading images

This can take a long time due to Paperclip doing its thing for all the different image styles.

Fixes #3395
[backend] Associate user with an order when NOT using guest checkout

Fixes #3335
Doesn't create redundant taxons root items.

Fixes #3413
Fixes #3417
Only set display_name in OrderPopulator#check_stock_level when it's needed

This should speed up in_stock query checking, as it's no longer querying option_values + option_types tables as well.
extract searcher_class instantiation into module

searcher_class was being instantiated in the same way in home_controller
products_controller, and taxons_controller. This moves that code into a
new Spree::Core::ControllerHelpers::Search module.

Fixes #3420
Allow unshippable items on the order

So that users don't have their cart emptied every time they checkout to
payment in a store that doesn't have a delivery step

Fixes #3193
Wait for ajax from stock level population to complete in order_details_spec
Remove frontend's version of admin/plugin/fontawesome

This should only exist in backend
Remove old version of fontawesome from backend's app/assets and use the one in vendor/assets (with proper font-url usage)

Fixes #3424
Correct include for font-awesome
[backend] Fix one more case of to_not raise_error(SpecificError) in image_settings_spec
only use one before(:each) block in frontend tests
Never allow AR's connection's open_transactions to dip below 0

Stopgap for #3428