Added settings migration function on app update and settings restore

This feature allows structural changes to the settings to be done without breaking existing installations or backups.

When applications are updated or backed up settings are restored, if the application's kanso.json contains a `migration_path` attribute, that path will be called to upgrade the settings to the current version.

For example, specifying `"migration_path": "migration",` in the kanso.json for myApp will cause a POST request to `/myApp/_design/myApp/_rewrite/migration` with a JSON request body, something like:

```
{
  "from": "1.2.0",
  "settings": {
    "language": "en"
  }
}
```
This should return valid JSON containing the updated settings, eg:
```
{
  "default_language": "en"
}
```
Dashboard will then replace the old settings with the new ones.