Previously AzuraCast had two very similar `$settings` variables, one that was from environment and the other from the database. This refactor distinguishes the two much more clearly.
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.
* 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
- Switch to Slim Container for Dependency Injection
- Set up all Slim routes and internal MVC classes to convert routes into the existing MVC style
- Set up PlatesPHP as the template engine, replacing Phalcon's raw PHP templates
- Replace all $this->di_item references in templates to $di_item (per Plates' handling of the $this object)