Don't raise NotImplementedError
Document download strategy interface
Avoid check-then-act pattern in clear_cache
Mark cached_location as an attribute
Merge remote-tracking branch 'upstream/master'