Implement a subprocess proxy for proper dry-run implementation
Do not ignore the -c argument
Enforce debug level output for dry-run to see commands
Do not disable dryrun mode in the middle of a run
Properly handle bootstrapping of backup destination

Even with linkdest enabled, the backup destination will be properly
initialized and backing up will not fail with an exception.
Fix several misleading configuration handlers
Allow for infinite depth of a backup level
Switch to a different interval interaction model

The old model
-------------

If a backup interval was full (i.e. if the limit specified in the
configuration was reached), the uppermost folder was shifted up to the
next higher interval.

No matter which relevants are given at the CLI, only the one which is
the lowest in the configuration order will ever be backed up. All other
intervals are only rotated and shifted up to higher intervals.

The disadvantage is that if you do not align the depth of an interval to
the actual length of the next upper interval, things become confusing.
Even worse, skipping a backup in a lower interval will make the upper
intervals become out of alignment with the actual days.

This is mostly relevant for pedantic people like me, but it also affects
the backup density.

The new model
-------------

First of all, the new model is slower than the old one. In the new
model, if backing up several intervals, only the lowest interval is
actually done. Thus, if you have `daily`, `weekly` and `monthly`
configured and call backupcopter with `weekly` and `monthly`, `weekly`
will be run.

The intervals directory which is not created by a backup will be
created as a hard-linked copy from the main interval using `cp -al`.

This takes more time and is more I/O intensive, but it allows for
perfectly aligned backups.