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
Refer to Spree.user_class always for Spree::Promotion::Rules::User

Conflicts:
	core/app/models/spree/promotion/rules/user.rb
[backend] Add empty partial for free shipping action
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
Persist search fields across requests for sales total report

Fixes #3906
Make product variants thumbnails selection more specific in JS
Use poltergeist for frontend build
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
Allow frontend address js methods to be called anywhere
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