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.
2 files changed