install: move chown code from Makefile to setup.py

The idea is to concentrate all distro related code in setup.py to make support
for distributions easier.
Move restorestate and savestate implementation to setup.py
Rework the glob() mechanism.

Unfortunately this does not work anymore if we configure some files. The
problem is that these globs are evaluated when setup() is called but the
files are generated when then configure task is run.

So on the first run the configured files where not found and because of
that not installed.
Implement a configuration build step.

It makes it possible to specify files on setup() that should have @@value@@
variables substituted ob build. The files will be copied to build/<path>
when doing that and have to be installed from there. Dependencies are checked
against setup.py and the original file.

        configure_values = {
            'webroot': webroot,
        },
        configure_files = [
            "config/settings",
            "config/cobbler.conf"
        ],
Replace the webroot in configuration files.

This gets rid of one opensuse patch.
Configure cobblerd, cobbler_web.conf and cobblerd.service

Since cobblerd no longer is guaranteed to be installed into /usr/bin .
Do not use wildcards for config/*

Some have to be taken from build/config/ now. And i think some of those
still taken from config/ should not be installed twice

  - cobbler_web.conf
  - cobbler.conf
  - ...
Create a build_man command that builds the man pages only if necessary.

build_man:    docs/*.pod -> builds/docs/*.gz
install       builds/doc/*.1.gz -> /usr/share/man/man1

IDEA: Take .X.gz and install into manX
Fix the build target.

I always tested with install so i failed to notice build is broken.
Now its fixed. (TYPO)
If no root is specified it makes no sense to unroot those directories.
Merge pull request #668 from jansenm/mjansen/makefile-cleanup

Mjansen/makefile cleanup