Geo attribution task

After applying changes that @diosmosis has described in this PR: https://github.com/piwik/piwik/pull/6463 I would like to ask about next review and confirmation that I have changed code with @diosmosis ideas.

Things that I've done after review:
* removed `LocationFetcherProvider` class and methods moved to class `LocationFetcher`
* since `LocationFetcher` aggregate some logic then I decide to keep this class separate from providers. Also I have no idea how to rename this class. If I would move `getLocation` method to providers, then I should copy paste cache methods and variables and copy paste provider getter in command and tracker. (which is very bad idea)
* removed `getLocationDetail` method from `LocationFetcher`
* removed repository pattern from DAO and move these classes into `DataAccess` namespace
* refactored `LogsRepository::getVisitsWithDatesLimit` method to enable reusability this method in Piwik
* removed PDO dependecie and changed PDO cursor into segmented query
* also update methods has bind and columns to update in single array (columns => values)
* refactored `execute` method in command to extract code to separate methods - I think that this method is easier to read now

What about comments? Could you give some example of this, @diosmosis?

Big thanks for precise, valuable and insightful core review!