Open Issues:
2. Aimage doesn't properly report free space on capture drive. 
3. Aimage doesn't properly capture serial number of capture USB drive with
   many external USB adapters. (Make this work with firelite drive and we will
   get many of them.)

   Planned solution: Move all of the os-specific stuff to a new class,
   os.cpp.  Make aimage use the "du" command to calcuate free space 
   (du works). (This means that you need to have du on any bootable disk
   that uses aimage.)  Fall back on OS-calls if du isn't present.

5. The new release system system needs to make the tar file, unpack it
   in another directory, build the tools, and successfully run the
   validation program on them, before uploading the release to
   afflib.org.

9. aimage needs to give a warning when the capture drive fills up.

10. MD5 and SHA1 files calcualted for AFD files appear to be
    incorrect.
    -> get this working with AFD files first.
    -> Then verify that it is working with AFD captured by aimage.

11. afinfo needs to report MD5 and SHA1 values in hex, not binary

12. afinfo needs a batch validate feature to validate many files at
    once.


Things to do:

* Have each segment individually hashed and signed, for security. 

lib:
* AFD needs to use same badflag for all of the files.
* Make sure that popen and fopen works with raw files still.

aimage:
 * Keep a log of everything imaged, # of bad blocks, MD5, etc.
 * Image from an SSL tcp connection.
 * Always write an AFF file, and when writing raw, put the data in a second, raw file.
 * notify user of kernel error messages.
 * Graceful quit
 * Digitally sign the AFFs
 * Check for disk full (0.2)
 * Checksum every AFF segment.

afconvert:
 * Need a "-p" (preen) option that will remove all of the blank spaces
   in the file and recompress every section to the maximum compression.


afcat:
 * option - BADFLAG or BLANK errors

afcompare:
 * properly process BADFLAG
