Removed unused method createUSStatesAbbreviation()
Added location update script

- Added a database update to clean up the current data first
- Added a cli command to compare the new location data to the current one
- Requires the file "GeoIPCity-134-Location.csv" to be present in the working directory
Merge branch 'master' of github.com:cargomedia/CM into issue-900

Conflicts:
	resources/db/update/21.php
Re-added lost update script
Downloaded GeoLite data by default

- If paid database is missing
- Conserved downloaded files for at most one week
- Read GeoIP data directly from zipped files
Logged fatal errors

- Added shutdown function registered in CM_Bootloader
- Logged last error via CM_ExceptionHandling_Handler::handleException()
Identified cities with updated region

- Fixed identification of regions with updated code (several regions with the same name in the database...)
- Identified cities with updated region
- Should still update listing of deleted/added cities accordingly
Refactoring

- Introduced helper functions for retrieving region names
- Split up analysis and info for city changes
Improved determination of added/removed cities

- Considered cities moved from one region to another
Renamed default CI database and user
Add Location Country, State, City and Zip classes
Merge branch 'master' of github.com:cargomedia/CM into issue-900

Conflicts:
	library/CM/ExceptionHandling/Handler/Abstract.php
	library/CM/Model/Location.php
	resources/config/local.ci.json
	resources/db/update/23.php
Merge branch 'master' of github.com:cargomedia/CM into issue-900
Used getter for tmp directory

- Introduced in 006c6c8
Added db upgrade for countries

- Ignoring removed countries
Renamed regions

- Stored ids of added countries
Added new regions and updated region codes

- Stored ids of the new regions
- Added optional maxmind code to CM_Model_Location::createState()
Renamed cities and updated MaxMind code
Updated city regions
Make null default instead of array