Add a `--no-download` flag to the data command

Currently, when `hoogle data` is run, all missing files will be automatically
downloaded from the internet. This can be insecure, and in some cases - like
distribution packaging of hoogle - it's not what it's intended (and most
likely, a packaging or configuration error).

This patch adds a `--no-download` flag which prevents such a download, and
instead exits with an error, making the error obvious. For safety, this flag in
checked in two different places: it makes the wget function error out if the
flag is passed (this function now takes a `CmdLine` argument as well) and also
doesn't call the downloader at all if the flag is passed (in `rules`).

The output (with the current version) is:

    $ hoogle data --no-download
    hoogle: Error when running Shake build system:
    * default.hoo
    * platform.hoo
    * platform.txt
    * downloads/platform.cabal.cache
    * downloads/platform.cabal
    Downloads are disabled; you need to acquire the source files manually.

Not the clearest, but it should be self-explanatory.
Expand test suite to be able to test `--no-download`

The test suite can only test success cases, so it needs a bit of adjustement
and a new dependency on temporary in order to setup the environment for
`--no-download` testing.

I've left the existing tests to run in the default data directory, although
this means it's not a hermetic test, I think.