VID-2142 Create a way to clear the VideosModule Video Cache

* Refactored the VideosModule into different subclasses for each video sources
* Added cache purging code
* Incorporated James' AsyncCache changes
Oops, disregard this. I was had looked at 'source' in the base class which is why I thought it was an empty string...now I see it's getting set in the constructor. Carry on then.