Allow tile load override for all ol.source.TileImage based classes

See #1036. [@fredj commented](https://github.com/openlayers/ol3/pull/1036#issuecomment-24724987):
> This option should be available for all the ol.source.TileImage based classes (not only ol.source.XYZ) but this can be done later.

- [x] `ol.source.BingMaps`
- [x] `ol.source.TileJSON`
- [x] `ol.source.TileWMS`
- [x] `ol.source.WMTS`
- [x] `ol.source.OSM`
- [x] `ol.source.Stamen`
- [x] `ol.source.MapQuestOSM`
- [x] `ol.source.MapQuestOpenAerial`