Versioned apps

- Adds a timestamp version to app JSON
- Updates to apps yield a new app version
- Adds an endpoint to list all versions of an app
- Adds an endpoint to show the detailed app parameters of an app version
- Updating an app with a previous version specified in the JSON body effects a rollback (a new version is created with the specified version's configuration)

**N.B.:** _Currently for review only, please refrain from merging as this lacks docs._