specdep: Only generate rules for the first binary RPM defined by each spec file

We only generate a rule for the first binary RPM produced by the
specfile.  If we generate multiple rules (one for the base package,
one for -devel and so on), make will interpret these as completely
separate targets which must be built separately.   At best, this means
that the same package will be built more than once; at worst, in a
concurrent build, there is a risk that the targets might not be rebuilt
correctly.

Make does understand the concept of multiple targets being built by
a single rule invocation, but only for pattern rules (e.g. %.h %.c: %.y).
It is tricky to generate correct pattern rules for RPM builds.

Signed-off-by: Euan Harris <euan.harris@citrix.com>
makedeb: Work in a temporary directory

makedeb currently works in the %_builddir directory, and expects to be
able to clear it out completely when it is finished.   This makes it
difficult to prevent concurrent instances of makedeb from interfering
with each other.  For simplicity, change makedeb to build each package
in its own temporary directory.

Signed-off-by: Euan Harris <euan.harris@citrix.com>
Merge pull request #406 from euanh/build-improvements

Fix tool problems which prevent concurrent builds