Use taxon name on taxons/show rather than its accurate_title

Fixes #2814
Factor product scopes to allow simple scopes to be added from an extension

Fixes #2608
Fixes styling issue where email is pulled left out of the info area.

Fixes #2850
Switch the mailers to be invoked using ids, not model objects. This makes it easier to support asynchronous mail jobs, as only simple ids need to be persisted.

Fixes #2808
Really use taxon name in taxons/show.html.erb

Really fixes #2814
Find visible select2-input element within promotion_adjustments_spec
Fix issue where, if using routing-filter, taxon autocomplete would break

Fixes #2248

This is due to the URL provided by spree.admin_search_taxons_url returning something like http://localhost:3000/admin/taxons?locale=en and then the code was appending '?ids=1' to the end of this, which is obviously an incorrect URL.

This new solution is more bulletproof.
Fixes #2788 allowing use of config.threadsafe!

Fixes #2852
Don't configure ActionMailer settings if they're already configured

Fixes #2855
fixes jstree ordering problem with jquery 1.9

Fixes #2728
ActionMailer::Base.smtp_settings in MailSettings spec
Dont need to run rake test_app.

Conflicts:
	CONTRIBUTING.md
Update selenium-webdriver to run with latest Firefox, bump Capybara and
rspec-rails versions too.

Also in this commit are a number of changes to the test running documentation.

Conflicts:
	CONTRIBUTING.md
	README.md
	backend/spec/spec_helper.rb
	common_spree_dependencies.rb
	frontend/spec/spec_helper.rb
Run 'bundle check || bundle install' to ensure dependencies are installed before build.sh
Use jsuri for products/new prototype selector too

Related to #2248
Fix tax calculator with non-VAT taxes.

This is an issue with Spree line items and tax rate calulators.

The method used to subtract tax from a VAT did not play nicely
with non value added taxes.

Fixes #2870
Pass args to provider method with send in Spree::Gateway#method_missing

Change-Id: Iff96153001cb3237b7a6cfe4bec3c25e086ec784

Fixes #2872
Bump to selenium-webdriver 2.32.0
[api] Don't set taxon.parent_id in Api::TaxonsController if parameters contain parent_id

Fixes #2757
Recalculate product count_on_hand when ANY of its variants are saved

Fixes #2799