Scheduler->removeItems optimization
Schedule->removeItems optimization fix for deleting the current playing track
Merge branch '2.5.x' into cc-5709-airtime-analyzer

Conflicts:
	airtime_mvc/application/Bootstrap.php
Merge branch 'cc-5709-airtime-analyzer' into cc-5709-airtime-analyzer-cloud-storage

Conflicts:
	airtime_mvc/application/models/StoredFile.php
	airtime_mvc/application/modules/rest/controllers/MediaController.php
	python_apps/airtime_analyzer/airtime_analyzer/analyzer_pipeline.py
Report an error and die if amazon.conf is missing
Error handling for if propel isn't found / composer wasn't run
Close the session when a track is previewed or downloaded.
Close the file pointer when we are down with it.
SAAS-504: Store provider in db
Merge branch 'cc-5709-airtime-analyzer-cloud-storage' of github.com:sourcefabric/Airtime into cc-5709-airtime-analyzer-cloud-storage
Merge conflict
SAAS-501: Re-jig cloud_storage.conf
SAAS-502: Analyzer -> Set the station id and domain in the cloud object's metadata

Set the domain name in the cloud object's metadata
SAAS-505: Extract Amazon_S3 class and have it inherit from a general 'cloud backend' class
SAAS-505: Extract Amazon_S3 class and have it inherit from a general 'cloud backend' class

Fixed reading credentials in from cloud_storage.conf
SAAS-503: PYPO -> Use the REST API to download files

Removed Amazon S3 specific code
SAAS-503: PYPO -> Use the REST API to download files
Merge branch 'cc-5709-airtime-analyzer-cloud-storage' into cc-5709-airtime-analyzer-cloud-storage-saas

Conflicts:
	airtime_mvc/application/Bootstrap.php
	airtime_mvc/application/models/Schedule.php
	airtime_mvc/application/modules/rest/controllers/MediaController.php
	airtime_mvc/build/sql/schema.sql
	python_apps/airtime_analyzer/airtime_analyzer/analyzer_pipeline.py