Various changes:

* Update selenium-webdriver to run with latest Firefox.
* Update CONTRIBUTING guide on build script
* Move rspec color into spec_helper

[Closes #2862]
Remove apply button as it duplicates update buttons behavior. Discussed in issue #2720

[Closes #2776]
rspec spec -> rake spec [ci skip]
Use order.contents.add for order_spec
common:test_app rake task generator lookup changes

now expects to find an extension's install_generator in the install directory
camelizes the lib_name instead of classifying so that correct generator class names are created for plural nouns (e.g. spree_simple_sales)

Related to #2863
DummyGenerator changes to improve dummy app generation for extensions

created a new extension:test_app rake task to handle dummy app generation for extensions
the extension template Rakefile calls this new task
DummyGenerator now injects correct requirements into the dummy app's config/application.rb file when called from the new rake task

Related to #2863
Added --auto-run-migrations option to install generators create for extensions.

When the common:test_app task is invoked for an extension, it now runs the extension's InstallGenerator with the --auto-run-migrations option so the dummy app is generated in a single step without the need for user input.

Related to #2863
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.
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 url for editing taxon
Fix for the edit and create menu items in the taxonomy tree

When clicking edit in the context menu of the taxonomy tree, the browser is redirected to
the edit view of the taxon. Browser should not follow the api route, but the admin route.

Also fix an error in handle create: upon success a taxon object is returned, so id should be called
on the returned object.
Generate API key for any user who accesses the backend

This is needed for API requests (i.e. taxons editing) that require authentication to the API.
Use jsuri within taxonomy.js for smarter URI manipulating

Kinda related to #2604
Remove duplicated api update shipments controller method

Fixes #2864
No need to pass AUTHENTICITY_TOKEN to API requests in taxonomy.js
Use Spree.url to create a URL with a token parameter in variants_autocomplete.js
Use Spree.url in adjustItems for variant_autocomplete.js
Support empty query parameters for Spree.url
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