If action_buttons wasn't an object/array would fail.

In our wpec templates, and even the default one it should just be
pulling the action button directly, not multiple. Though I am sure there
are times there are more than one. (Maybe if you have a widget or
something?) Either way both ways will now work.
Merge pull request #970 from marcusds/master

#969 refer to 969
Improve wording of "Address to calculate shipping with" options.
Merge pull request #977 from JeffPyeBrook/do-not-hide-gateways-on-checkout

Fix for hiding of payment gateway rows on checkout table described in #597 and multiple AJAX requests on click of shipping same as billing
Merge pull request #972 from benhuson/calc_shipping_addr_display

Improve wording of "Address to calculate shipping with" options.
Use checked() instead of old legacy code.
Default to add_to_cart as the proper action_button value, otherwise, grab the first value.
Eliminate notices on sales log page when shipping is disabled and/or shipping fields are hidden or removed.
Properly globalize purchlogitem in wpsc_purchlogs_get_weight_text(), and grab global ID early instead of late.
For new installs, don't require phone by default.
Most of the way through being able to checkout without the checkout_details object, using customer meta.
No php errors on error checkout, no disappearing fields, just a little more refactoring and bug fixing to do.

Good place the checkpoint the commit
Ensure PayPal Express does not send a discount line item if the discount is set to 0.00
Initial commit creating file to hold country region currency utility logic.

Throughout the WPEC codebase, but mostly in checkout and profile related functions, there are many direct references to the database in support of getting information about countries, regions and currencies.

The readability and maintainability of the codebase would be improved if there was an abstraction between our business logic and the raw data in the database. Having such an API would also allow us to identify any performance issues that could be addressed by database tweaks or caching.
Create intital file and include it
Merge remote-tracking branch 'origin/country-region-currency-util' into pr-deprecate-meta-chckout-details
Working the state/region issue, and form validation
Checkout Form Class Fix and Enhancement
Started using checkout form class functions in place of a couple of queries that were repeated in various places adounrd the code and noticed a couple of things.

* The data from the database that is stored in the class static can be retrieved with a parameter excluding heading fields but if a later call tries to retrive the values with heading fields the heading fields wouldn't get returned.  Changed the query to always retrieve the heading fields. Changed the retrival function to filter out heading fields if the caller asked for them to be filtered.

* Added a class function to return the count of fields

* Noticed that the version number was set to 3.9, since we are using the functions in 3.8.14 changed the version number in the header
Changed file back to upstream master to remove unneeded changes
The updates
Merge branch 'checkout-form-test-fixes' into pr-deprecate-meta-chckout-details