Add Location Country, State, City and Zip classes
Merge branch 'master' of github.com:cargomedia/CM into issue-981
Proxied from CM_Model_Location to the specific location object
Used local cache for locations
Renamed database tables, adjusted tests
Merge branch 'master' of github.com:cargomedia/CM into issue-981
Added migration script, renamed IP blocks tables

- Adjusted tests and structure.sql
Stored whole location hierarchy in CM_Model_Location
Adjusted tests: Parent locations must exist
Review requests:

- Removed unnecessary float casting
- Removed unused null return value
- Removed unnecessary null object check
Review requests:

- Used exceptions for invalid location levels in getParent()
Merge branch 'master' of github.com:cargomedia/CM into issue-981
Parent location not instantiated in constructor any more

- Replaced model by id in the schema
- Kept the signature of creators, getters and setters, though
Cached data of the whole location hierarchy in CM_Model_Location

- Used lazy loading to instantiate these locations
Added is/setEnabled() methods to CM_Debug

- Refactoring: Reordered methods
Added unit test for Smarty plugin "location"

- Tested cache usage
Flushed the runtime cache
Don't set the config cache if it is disabled (for unit tests)
Fixed wrong test class name
Improved cache usage of smarty_function_location()

- Read all information directly from the passed CM_Model_Location instance
- Adjusted tests: No cache used at all