build: Fix GitHub download URLs to pin versions and reduce need for override

The file name at the end of a github.com/<user>/<repo>/archive URL is
arbitrary, so we shouldn't need the 'override' feature of fetch.py for
GitHub downloads - we can just ask for the filename we want.   However
fetching from github.com/<user>/<repo>/archive seems to return the most
recent version, not necessarily the version we want (the version in the
filename is ignored, because GitHub doesn't care about the filename).
Therefore we should request archive/<tag>/filename-1.2.3.tar.gz,
to make sure we always get the same version.

Signed-off-by: Euan Harris <euan.harris@citrix.com>
build: Remove unnecessary build directory name overrides

If the source tarball expands to produce a directory called
%{name}-%{version}, RPM will automatically find it.   -n is only needed
when the directory produced by the tarball has a name which doesn't fit
this pattern.

Signed-off-by: Euan Harris <euan.harris@citrix.com>
build: Move tarball downloading into the makefile

With source URLs now embedded in the spec files, we can generate
rules to download the tarballs needed to build each SRPM.

Signed-off-by: Euan Harris <euan.harris@citrix.com>