* Add form entries and LS config writing for live stream recording.
* Create new Broadcast entity; implement new djon/djoff handling.
* Rework record command procedure and add Station relation to Broadcast.
* Run code reformat on JS to add semicolons back.
* Properly save recording path on entity.
* Initial commit of new streamers Vue component.
* Finish frontend Vue dev and add necessary API endpoints.
* Add loader to Datatable; update npm deps; polish on components.
Implement an upgrade of the codebase to use Slim Framework version 4, which includes the following changes:
- Updating to Slim version 4 and the corresponding AzuraCore updates.
- Making all objects PSR-7 Request/Response agnostic (and creating RequestHelper and ResponseHelper objects to interact with the PSR-7 Req/Resp objects).
- Moving to PHP-DI as a DI container and implementing its autowiring support.
- Make all radio adapters station-idempotent (no longer having the Station hard-coded in, allowing for reuse and removing several possible error cases)
- Make the Liquidsoap annotation and configuration building step event-driven for easy plugin overriding
- Make the "get next song" process event-driven
* Initial renaming to a single global App\ namespace.
* Move CSRF/Flash under Session, move Session under Request
* Use new Request Station helper
* Unify App/Acl and App/Acl/StationAcl
* Alphabetize composer.json