+ CLI
    + add command line options:
        + max block size
        + min block size
        + block size change probability
        + title
        + number of blocks for partial estimate
+ presentation
    + GUI
        + fix size estimate units - it stays the same irrespective of units type
        + update only once every second or half second
        + pause button
        + Convert the GUI to a table?
        + add a menu bar
        + Add a quit button
        + Add time remaining
        + Add ETA based on entire transfer so far average
        + Add ETA based on briefer average
        + Add 10^3 vs 2^10 units
            + possibly have a toggle button (did a pulldown menu)
            + command line options for this
            + gray out options that are currently selected, to avoid reselection confusion
        + pause/resume
            + gray out options that are currently selected, to avoid reselection confusion
        + switch to using modunits or udunits or something!
        + Add no estimate transfers?
            + Keep:
                + amount transferred
                + throughput
                + blocksize
            + discard:
                + % transferred goes away
                + no ETA
                + no time remaining
                + progress bar becomes a pulse, not a %
        + Add /dev/zero transfers (and other device files)
            + stat
            + check for device file
+ backend
+ both
    + Use a status_class to communicate from the worker process to the GUI
        process
        + assess whether everything can reasonably be packaged up into a single
            object
    + Make the worker process die with the GUI on early termination
        + maybe via a message from GUI to worker
        + maybe via os.kill or process.join() in some way
    + add a buffer and/or tempfile mode for no estimate?
    + add du-like functionality for a list of directories?
    + use a heap to speed up blocksize_optimizer
    + exit true if transfer was completed successfully