Add inverse_of to models

Fixes #4146
Only create an order when adding a product to cart

Everytime user was authenticated an order was created by visiting any
page in frontend (if none were already associated with the current user)

Fixes #4136
Update readme for new CI location

The move of domain is permanent, according to the spreefolk in IRC
Refactor DelegateBelongsTo to not touch db on startup
show the SKU when present on the line_item.variant

Fixes #4045

Conflicts:
	backend/app/views/spree/admin/orders/_shipment_manifest.html.erb
Remove code already placed in awesome_nested_set
Flush out association between payment and its method.

Change-Id: I7ae6a6071ad9959eacb48bda75061e58236e674f
Test against Ruby 2.1.0 in Travis
Revert "Make sure that api requires authentication by default"

This reverts commit 3e89c8e52ced3935f74048f288aa9cdc524c88dc.

This is causing issues with the frontend & backend builds that need to be fixed before this commit can be applied.
Add index to source columns on spree_adjustments so UpdateAdjustmentStates migration does not take ages to run on large databases

Fixes #4145
Remove ability to configure paperclip in backend

There are numerous drawbacks and "gotchas" in the current image_settings
interface than I argue are worth keeping.

Any changes you make to the settings need a server restart to actually
work. Also, any changes to styles require a rake task to be ran on the
backend. These changes must be completed by programmers and we do not
gain anything supporting them in settings versus setting them in
initializers.

Settings can still be set by using Paperclip::Attachment.default_options,
or can continue to be set on an individual attachment with:

  Spree::Image.attachment_definitions[:attachment][:url] = '/my_url/:id'

Fixes #4139
Add product.has_variants and variant.in_stock to products#show api

These two pieces of imformation are important for the API to allow clients to deliver ui/ux friendly product variant picker to users.

The product.has_variants? allows clients to determine if the product is_master variant can be selected as a purchase-able option. This is the current functionality in Spree-Frontend:

https://github.com/spree/spree/blob/master/frontend/app/views/spree/products/_cart_form.html.erb#L26

The second change is an enhancement to the API that prevents users from picking variants that are not in stock. We can X it out or shade it out to indicate that it's a possible option but not available. The urrent Spree-Frontend doesn't even check for this, and instead warns of inventory on add-to-cart. This is less than ideal if we want to prevent people from getting into this dead-end and block the selection to begin with.

* changes to product show rabl and variant base template
* tests for product and variant API specs

Fixes #4153
Include *_tax_total fields in orders API responses

Fixes #4157
Fixes #4158
Added display_ship_total to order api response

Fixes #4161
[api] Use correct amount for ship total in orders_controller_spec
Bump activemerchant to 1.42.3
Don't use hard coded assets prefix

Fixes #4156
Remove variant default_scope from Price class this fixes Price must belong to a variant when trying to fetch the price fo a deleted variant

Fixes #4169
Add CHANGELOG entry for js responder security fix
No need to call gemspec in common_spree_dependencies

Each component Gemfile already calls it