The following patch amends the Tool interface to have names and descriptions, as well as supporting specifying what input and output streams to use. The former is handy for printing a list of options, and the latter is useful for writing tests. (The test that uses it is going to show up in a separate JIRA.)
There's also one fix for something that
AVRO-223 missed: a $AVROJ->$CMD change.