Issue title: Let Plugins define Schema changes
 Issue body: Plugin developers can create new tables in the database, or alter existing tables to add fields.

In this process, it is common requirement to also maintain schema versioning for plugins. Piwik plugins have this built in. 

The schema version is the same as the plugin version. When you release a new plugin version you can bundle with it some schema changes. 

How to do this:
- If your plugin has schama changes in version 1.13, create a file in plugins/MyPlugin/Updates/1.13.php
- This file contains a Updates_1_13 class
- This class can run PHP code during the update, and you can implement the getSql() method to return sql code to execute.

See an example of Plugin Schema Update in the [DevicesDetection plugin here](https://github.com/piwik/piwik/tree/master/plugins/DevicesDetection/Updates/1.14.php).

 Comments: 
 Comment 0: In 16f8dd60bf76b080e1e6b6f1b887339edc351665: Fixes #4203 DevicesDetection 1.14 version schema update to account for longer strings ( fields config_os_version and config_device_type are not large enough )

Refs #4204 Plugin schema example with DevicesDetection

 Comment 1: In ded987ac03cf76a297179fbe4cb2189294e40185: Fixes #4203 DevicesDetection 1.14 version schema update to account for longer strings ( fields config_os_version and config_device_type are not large enough )
Refs #4204 Plugin schema example with DevicesDetection

 Comment 2: In bbb8642e7c52d2ee9d2216fd6a0d465b0b5546d8: Refs #4204 Fix logic bug: setting Plugin schema version after they were successfully installed + should fix the build (thx ArchiveCronTest)

 Comment 3: In 20cdfcf27f824fcdf8795ff39ea05dc597768b03: Refs #4204

{'source': 'GithubIssues', 'repo_name_with_owner': 'matomo-org/matomo', 'issue_id': 37354947, 'repo_stars': 16982.0}