Pending (unfinished) commands

Commands in this directory are external submissions awaiting review and/or
cleanup before being "promoted" to one of the other directories.

Code in this directory may or may not work, some of the commands here are
unfinished stubs, others just need a more thorough inspection than we've had
time for yet. Everything in here defaults to "n" in defconfig.

Outside of this directory, several commands (and some library code) have
TODO annotations.

This directory should go away before the 1.0 release. It's just a staging
area so code submissions don't get lost while awaiting more thorough (and
very time consuming) scrutiny as described in www/cleanup.html.
