Things to do:

library:
* badflag needs to be reimplemented as a bitfield.
* Until then, if there is no badflag when a file is opened for writing, add one.
* more sanity checks when opening a .afd file for READING; make sure certain 
  segments are there.

s3:
* have "ls" use Delimiter option to just list the drives
* Give "ls" an option to list just the AFF files.
* Have implementation read a list of all the segments on open, and cache this. 

aimage:
 * Add lzma compression
 * Have aimage update more often
 * Final report on bytes written is wrong.
 * Fix imaging over the network
 * Keep a log of everything imaged, # of bad blocks, MD5, etc.
 * Image from an SSL tcp connection.
 * notify user of kernel error messages.
 * Digitally sign the AFFs
 * Check for disk full 
 * Report if drive is wiped
 * -A mode needs some work; it sometimes compresses too much.
 * Should allow arbitrary segment names & values to be added to the AFF file.

afcat:
 * option - BADFLAG or BLANK errors

afcompare:
 * Make SIGINFO work
 * -d - just compare data
 * -s3 - just check to see if the named segments got written.

afinfo:
 * flag to print if the file is allbad or allzero

afcopy:
 * don't copy the file if it won't fit.
 * preserve timestamps
 * Add fact that somethng was copied to an aff file
 * have the file names .aff.new, and rename to .aff after complete.

afconvert:
 * This didn't work: afconvert -q -o /project3/1028.raw /project2/p3/1028.aff  

afxml:
  doesn't work with s3...
  s3:///0024.aff
 * Allow to disable copy by pages

