optimize $?USAGE

We only generate the USAGE message in case we need it, and then the new code only
takes .13s where the old code took .75s (on windows)