Add deleteIfEmpty annotation for zipped files

An output file can now be specified as, e.g.
outputs=dict(
  xfile = TextFile(filename='foo.txt', deleteIfEmpty=True)
)

Adding deleteIfEmpty=True as a parameter to a file type will delete
empty files rather adding them to the zip.

This allows Balcazapy to support scripts which create files only if
a condition is true. The script should be modified to always create
an empty file if the file is otherwise not created.  At the zip stage,
the file is checked to see if it is empty and is removed, giving the
same effect as the original script.

If --zip is not added to the balc command, the file will always be
output. There is no way to suppress output of the file in this case.