systemd/Makefile: fix install without systemd

If the system doesn't have systemd, just don't install the units.
fedup.util: re-add improved subprocess commands

Heh, whoops. So it turns out this actually is useful/necessary for
dealing with Python 2.6 (where we don't have subprocess.check_call).

The original commit message follows:

This adds a new function, call_output, which runs the given program and
returns a tuple: (retcode, stdout, stderr). It has a few advantages:

- CalledProcessError will always have retcode and output attributes.
- The command being run will always be logged.
- STDOUT and STDERR are always captured (won't leak onto screen)

It also implements the other subprocess commands (call, check_call,
check_output) using call_output:

call:         return retcode
check_call:   return retcode, raise CalledProcessError if retcode != 0
check_output: return stdout, raise CalledProcessError if retcode != 0

This partially reverts commit 31bbaf4b9fe8370f2a7bc7f0cca35b0004cfefbf,
which reverted 6cfcfcf8de3ad08f787d02dd8a50e491f92a89d3.
Use new subprocess commands from fedup.util

Move all the subprocess calls over to using our variants in fedup.util.
Make failed doc build non-fatal

We still want to be able to build/install if a2x isn't available.
fedup.commandline: treat --network VERSION as a float, not int

In our distant past and possible future, distro version numbers are
floating point numbers. We should handle that case.

(See commit 053c9859d62106b3bbbd45eeb65159d8753f4089, which was dropped
when merging with master)
fedup.spec: add version-specific Requires:

- systemd is only a requirement on Fedora 17 and later
- RHEL6 needs python-argparse for fedup to run
fedup.treeinfo: py2.6 compat

Python 2.6's RawConfigParser doesn't have the allow_no_value kwarg.

If we get a ValueError from __init__, just drop the arg; the old
RawConfigParser seems to quietly accept keys without values so this
should be OK.
fedup.py: error message when there's no updates

It's possible that you'll end up with no available repos (except your
custom instrepo, which has no packages), and then you'd get the message:

  Your system is already upgraded!

and we'll exit with returncode 0 (i.e. success). Which this isn't.

Head that condition off a little early and print an appropriate message
and return failure instead.