A bit of refactoring...

* The Committable role is much more readable now
that things have been broken into separate subs.

* Committable Actions now communicate which dists
have been affected by pushing them onto an arrayref.

* I rewrote some Actions to improve readability
and reduce the number of lines of code.

* Files are cleaned up after aborting with an empty
commit message.  Also, after a failure with --no-fail.
Try to be clever about constructing the log message.

This is an attempt to fix GH #86.  The goal was to
just remove targets from the log message that have already
been pulled.  But this turns out to be more complicated
because you might pull a target just to register its
prereqs, even though the target itself is already
registered.

So now, the message is reduced to the fewest possible
targets, removing those that were not affected by the
operation unless one of it's prereqs was affected.

However, it's not perfect.  Sometimes you really want
that target in the list, or you may be confused about
why it isn't there.  To avoid confusion, I've added
a warning about pulling targets that are already on
the stack.
Try to fix the --force option.

Technically, this is available on any Action that does
the Puller role.  But for now, I'm only exposing it
via the "update" command.
Fix duplicate variable declaration.

Thank heavens for warnings!
Pass the --force flag down to prereqs.
Bump VERSION, regen README.
v0.0997

      [BUG FIXES]

      - Fixed behavior of the --force flag on the new "update" command.
      It now applies to all packages that might be updated, not just the
      targets list on the command line.

      [ENHANCEMENTS]

      - When generating the title for the log message, only the targets
      at the top of the dependency graph are listed, and only if they
      (or one of their prerequisites) were actually affected by the
      operation.  In effect, redundant and prereq targets are therefore
      excluded from the message. This attempts to fix GH #86. Thanks @akarelas.
Merge branch 'refactoring'