Each time scripts/extract is called it sources config/options which is an
expensive operation.
We call scripts/extract 8 times for each possible tarball pattern, and for
7 of those 8 calls scripts/extract does nothing but source config/options
and then exit.
This change is more efficient, while functionally equivalent.
A download might succeed from, say, github, but have an invalid checksum. In this
case it would not attempt the alternative download from the mirror (which might
have the correct checksum), but instead it would repeatedly download from github
until the download limit is exceeded, and then fail completely.
as described in https://github.com/LibreELEC/LibreELEC.tv/pull/1806#issuecomment-315903858
from
```
GET gettext
INFO Calculated checksum is: ff942af0e438ced4a8b0ea4b0b6e0d6d657157c5e2364de57baa279c1c125c43
UNPACK gettext
```
to
```
GET gettext
INFO Calculated checksum: ff942af0e438ced4a8b0ea4b0b6e0d6d657157c5e2364de57baa279c1c125c43
UNPACK gettext
```