Use of preset files to allow backups

The logic will be as follows. The script will read in configuration
information from preset files. Preset files are INI files containing the
name of the preset, the source and the destination. A simple example of
such a preset file would be:

[home]
source = /home/user/
destination = /mnt/backup/

The script will then need to copy over the files in the source into the
destination under a folder named after today's date (e.g., 2014-08-10/)
and create a link to it marking it as the latest backup. Subsequent
backups will be added alongside and each time, the link will point to
the latest backup.

To do this, first, the input arguments must be parsed. Next, each valid
preset file is processed and each valid preset is archived.
Parse input arguments

The script uses argparse to parse input arguments, which are one or more
ini files. These are summarily passed to the next function which will
validate each file. Additionally, a helpful message is printed on screen
if the script is run with -help or with no arguments.
Process each preset in an input file

Each preset in each input file is parsed. If either the source or the
destination is invalid, the script exits immediately. Otherwise, the
name of the preset, the source and the destination paths are handed over
to another function that will use rsync to create an incremental backup.
Archive each preset

Each preset is now archived to the backup destination. Each such archive
is placed under today's date and a link, called 'latest', is updated to
point to the latest backup.
Script is now executable