redo-sh.do: prettier log messages.

Make it easier to see which shells fail/warn about what.
shelltest.od: a few more/better tests and clarification comments.
t/shelltest.od: another test for ${x#y} behaviour.

If y contains a * character, it's a case-esac style wildcard unless it's in
"" or '', which tells it to match a literal *.  But in dash/busybox, the ''
quoting doesn't actually work, only "" does.

Since there's a workaround - just always use "" quoting - it's not that
fatal.  If the "" quoting doesn't work, then we'll make it fail.
shelltest: use a more magical magic number for success.

There may be some odd situation where a shell returns 0 despite not executing
the script correctly; now 0 is an error condition.
Don't use "insert ... default values" in sqlite3.

It isn't supported in older sqlite3 versions.  Let's just do something
equivalent instead.
t/shelltest.od: quiet some error messages that get printed during testing.

If the error message only triggered a shelltest warning instead of a
failure, then they're harmless, so we might as well silence them when
running 'redo test' (which runs t/shelltest.do, which enables
SHELLTEST_QUIET).  We still want to print them when actually testing out
shelltest.od, though, to help with debugging the script.
redo-sh: reverse a case that caused 'set -e' to abort on zsh.

Correctly, I might add.  It's too bad none of my other shells did it.  Sigh.
Docs: recommend adding redo-ifchange with a lot of targets at a time.

Some people don't know to do this, and their scripts are unnecessarily slow
because of it.
t/pytest.do: don't run in minimal/do.

And add a reminder to test.do to run 'minimal/do test'.
Import latest options.py from bup.
md-to-man.do: suggest how to install markdown/BeautifulSoup

...since they aren't included by default on MacOS X, but easy_install can
easily get them for you.
Change definitions of $1,$2,$3 to match djb's redo.

If you use "redo --old-args", it will switch back to the old
(apenwarr-style) arguments for now, to give you time to update your .do
scripts.  This option will go away eventually.

Note: minimal/do doesn't understand the --old-args option.  If you're using
minimal/do in your project, keep using the old one until you update your use
of $1/$2, and then update to the new one.

apenwarr-style default.o.do:
   $1      foo
   $2      .o
   $3      whatever.tmp

djb-style default.o.do:
   $1      foo.o
   $2      foo
   $3      whatever.tmp

apenwarr-style foo.o.do:
   $1      foo.o
   $2      ""
   $3      whatever.tmp

djb-style foo.o.do:
   $1      foo.o
   $2      foo.o  (I think?)
   $3      whatever.tmp
t/*: update some tests from my rewrite branch.

Just some minor test fixes so that tests pass on both current redo and the
upcoming rewritten one.
t/*: rearrange tests into numbered directories.

It was getting way too ad-hoc in there.  Let's reorganize the tests so that
there's a good, obvious, suggested sequence to run them in.
t/201-fail: add a simple test for non-existent source files.

(This actually went uncaught in my redo rewrite.  Oops.)
t/350-deps: 'redo clean' was crashing.
t/100-args: add a test for --old-args feature.
Rename 111-compile to 111-compile2.

Not a great name, but make it obvious that this is a slightly different test
from 110-compile.
Add a test for --shuffle option.
Add a test for --keep-going option.