Clean up subcommand processing

Use an args slice to make the decoding of subcommands and arguments a
bit cleaner.
Use fmt.Errorf

Instead of errors.New(fmt.Sprintf(...)) just use fmt.Errorf(...).
Basic managed backup

Initial implementation of the backup manager.  Reads a config file to
determine what backups to run, and performs various steps, including
lvm snapshots, gosure integrity checks, rsync mirrors, and actually
dumping data.