Save region id in checkout forms table instead of state name

Prior to release 3.8.14 the billingstate and shippingstate checkout items were stored differently depending on if the billingcountry and shippingcountry values contained countries that used regions.

When countries with regions were present, the billing state field was set to the numeric region id, rather than the string name of the region.  A better long term solution may be to have a distinct checkout item to hold the billingregion or shippingregion code when such a code is available.

For this release (3.8.14) the historical behaviour will be preserved.

Resolves issue #1186