Add support for .tar.gz and .tar.bz2 dependencies

Hi!,

 I would find the support for .tar.gz and .tar.bz2 files very useful for my project. It just download and decompress the sources from the provided URL.
`ensuredir` -> `ensure_dir`