Use argparse for parameter validation

argparse has some convenient methods for exposing and parsing "choose
one of $list" arguments, so this commit switches the --log-level and
stage arguments over to using that.

It also stops documenting the --subtask option since that isn't meant
for human consumption anyway.