source.py,plugin.py: Allow elements to have a cache directory At present, only source plugins are allowed to have cache directories but not elements. Move `get_mirror_directory()` method from Source() to Plugin() so that elements could also benefit from having a cache, if needed.