8.0 base location geonames import

Starting from @alexis-via [MP](https://code.launchpad.net/~akretion-team/partner-contact-management/base-location-geonames-import/+merge/214564) and porting to 8.0
- using new API
- adding tests
- refactoring with ```select_or_create_state``` in order to [create states if they don't exist](https://code.launchpad.net/~akretion-team/partner-contact-management/base-location-geonames-import/+merge/214564/comments/538000)

The new ```select_or_create_state``` also allows to be extended using different CSV fields for states
wouldn't it make sense to put this into an ir.config_parameter? That would make eventual changes in the URL a lot simpler to apply for non-technical admins and also wouldn't require a server restart