Dont create product if master variant invalid.
[Fixes #5306]
Fixes #5330
added new lines at end of files

fixes issue #4690

remove whitespace

added branch option to main readme

update hierarchy in cmd readme

Closes #5331
addi18n to prom index
Fixes #5333
Have reimbursements touch their customer returns

For example, completing a reimbursement may mean that a customer return is now fully reimbursed, etc.
Fixes #5334
Update jquery dep. refs #3203
Update promotions.md

`Adjustment#determine_eligibility` && `Promotion#rules_are_eligible?` seems to have been deprecated at some point and no longer exist.

I tried to correct the text as best as I could.

Thank you

Fixes #5347
Always call registered extension line item comparison hooks
Fixes #5343
Detect old-style order refunds

In the `Spree::Order#has_non_reimbursement_related_refunds?` method.

The old style was not migrated due to not enough information being stored and because of potential ambiguities, but we still need to account for it here.
Fixes #5348
Encapsulate handling of payment preconditions

This would allow us to create methods that would verify the integrity of
a payment but allow us to do custom things with it.

Add utility methods for explicit authorization and capture.

There are times in custom applications that we explicitly want to
authorize or capture regardless of the payment_methods auto capture
preference or the store configuration. This lets us do that while
maintaining that the regular preconditions for payments are met.

Refactor process_payments!

As with the payment changes, this allows us to call custom methods on
payments for processing.

Add authorize_payments! and capture_payments! to orders.

Allows us to specifically authorize or capture payments on an order.

Move payment processing to a concern

Fixes #4879
RSpec 3.1 support & Fix a couple Rails 4.1.6 regressions.
Remove typo
require at least one valid payment on transition to complete
Fixes #5350
Don't raise an error on credit card default setting of another card is expired
Fixes #5353
Remove check for payment step and has payment step in checkout flow when updating payment source
Fixes #5351
Reduce queries whenever _products are rendered.
Fixes #5352
let value have validation of db column length

need to rescue AR issue for spree install, ci, etc (chicken and the egg issue)

do validations as a re-useable validtor

explicit argument error message
Fixes #5361
OrderPopulator doesnt have to call shipment update as OrderContents handles that.
Use email regex from Devise. Fixes #5368
Revert "Added ability to perform address actions outside scope of an order"

This code is unreachable in stock spree because there is no route to get to Api::AddressesController without going through an order.
And the unreachable code is insecure by default -- if a store did add an "/api/address/:id" route then any Api user would be able to read any other user's addresses simply by guessing the id because that's how the permissions were added in ability.rb.
It seems like it would be better to just remove this or else make it a fully supported, reachable, and secure endpoint in stock Spree.

This reverts commit 229cdf4284fa56528a06c0c86830b19a7f49c3df.

Conflicts:
	api/app/controllers/spree/api/addresses_controller.rb
	core/app/models/spree/ability.rb

Fixes #5375
Add data-hook to password fields on user form
Fixes #5377