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
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
Fix money check in promotion_adjustments_spec
Simplify Shipment#to_param code

(lol)
Switch from using * 100 to money.cents

This is the same fix as [#2930], but in a few more spots.

Change-Id: Ic4104c6ab3fa98a4301bc7785241dbf16fcd3b8c

Fixes #3917