Add fetchBanner method to retrieve banner raw data

This adds a fetchBanner method to retrieve raw jpeg data from a banner mirror. This encapsulate the banner picking logic and allow to use the HttpCache from #11 to keep a cached version of the banner like any xml file.