Country region currency API

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.