** WPSC_Data_Map class **

    Much of the countries/regions/currency efficiency gains comes from not reloading the same data from the database multiple times.  Once data is loaded it is stored into a construction that provides easy access to highly structured data, and can save and restore itself from persistent cache as needed.  The class only loads the data it needs

    In support of these enhancements to the country / regions / currency class it was useful to create a general purpose object that did these things.

    * could return a value from a list of values based on a unique identifier
    * could retain its list of values throughout a transactions execution without having to go back to a database
    * could be smart enough restore its list of values from a cached copy of itself only if it was necessary, and without a client needing to initiate the save
    * could automatically save itself when appropriate, and without a client object needing to initiate the save
    * could automatically recreate itself should it be the case that  the cached copy its data was no longer available

    And thus was born the WPSC_Data_Map Class