Use actual assertions in credit_card_spec
CreditCard#expiry=: Only prefix '20' to year if 2-digit year is specified
Use evaluate_script instead of execute_script

evaluate_script was meant to be used for these kinds of situations.

Fixes #3894
Clarify how spree accepts pull requests, may need to be cross committed to the docs in spree-guides is support for the change is present.

Discussed in #3894
Specify class name for users association in Promotion::Rules::User
Update option_type for has_many product through

Needed for search from option value.

Fixes #3910
Added Kaminari call to add rel next/prev to head

Fixes #3903
Use poltergeist for frontend build
Persist search fields across requests for sales total report

Fixes #3906
Make product variants thumbnails selection more specific in JS
Sorts country list correctly with accents

Fixes #3911
[frontend] Wait a couple of seconds in address_spec for poltergeist to catch up with latest changes
Wait until jQuery AJAX requests complete before checking page
Reference address html elements by id only
Destroy shipments in api/line_items_controller when needed

Fixes #3914

Conflicts:
	api/app/controllers/spree/api/line_items_controller.rb
Set state_name when state record not found [api]
Scope state per country on api import script
Add 'currency_sign_before_symbol' configuration setting

Allows you to determine if you want himBH10.00 or -0.00. Default is the latter.
[backend] Fix issues where elements sometimes would not be found with Capybara

This was *only* failing when running locally. Slightly annoying.

Turns out Capybara does not support nth-child(<num>), so we have to work around that. Work around is easy enough. Turns out then that the selenium webdriver driver does not support that work around. Hmpfh. So now we have both syntaxes used interchangeably depending on the example metadata stuff.

Conflicts:
	core/lib/spree/testing_support/capybara_ext.rb
[backend] Fix failing test in payments controller spec by using the right number