define easybuild.tools.fetch module, to clean up easyblock.py/filetools.py

based on a remark made in #953 by @stdweird

todo: figure out how to get rid of `fetch_sources`, `fetch_patches` and `fetch_extension_sources` from `easyblock.py` into `fetch.py`, and figure out common code that can be factored out