Dynamic weighted jukebox

...d a generalised version of banner campaigns for availability-based things
okay, but comments would still be good and https://github.com/UniversityRadioYork/MyRadio/pull/246#discussion_r21061814