Change the order of confirmation and tar-ification
Change the order of confirmation and tar-ification

In previous versions of the script, the .tar would be built, and its
size would then be inspected. That file size would be presented to the
user for confirmation. There were two reasons for this: firstly, because
the form of compression being used at the time was lzma, and the utility
in question was lrzip, it was convenient to build the .tar file anyway.
Secondly, because getting the file sizes individually is much more
processing- and code-intensive, considering the additional requirement
that any file for which an exception applies must not be counted.

This implementation posed several problems. For starters, it meant that
if you could not easily perform "in-line" compression, because the file
had already been made. Secondly, it meant that the user would probably
not be able to see how much space the backup would take if they have
less space than was required to create the tarball, because the python
code would start getting write/out-of-space errors back from the OS.
Thirdly, it is space-inefficient and it has a stupid face.

The issue is addressed by adding in a step whereby subprocess is used to
sum all of the file sizes of every member of the list of files to be
backed up. This operation is fairly processing-intensive, and a good
alternative might be to try to get this information more intelligently
using du.

After using du to get the expected backup size (uncompressed), the user
is then asked for confirmation. If the user agrees, the tarball is
*then* created.

iansmcf/cybak