Run any exec_before command prior to checking sources

As if we check that the backup sources are present first we may fail if
the exec_before is populating one or more of the sources. For example,
we might be dumping a database to what would otherwise be an empty dir.
Also make sure we always run exec_after command

As we may be relying on it to restore system state, for example, in the
case we stop a database server for the duration of the Tarsnap backup.
Ensure any Tarsnap exceptions are actually handled & logged

This also ensures that exec_after will always actually run.
"Merge pull request #8 from ralish/fix-exec-before\n\nRun any exec_before command prior to checking sources"
Use log.exception() so we get some info.