Add test for nested tags.
Ensure `html->str` supplies close tags for non-void elements.

Move `void-element?` from parse.rkt to its own file so we can use it
here, too.

Even if a non-void element lacks contents, it MUST supply a close
tag. Otherwise the markdown parser will not treat it as valid HTML.

Would a better way to do this be to modify the redex grammar for
non-void elements in such a way that randomly-generated examples
_always_ have content? Perhaps, but (a) I don't yet understand how to
do that, and (b) I'm not sure that's really correct grammar. A
non-void element is permitted to have no contents. The point is that,
regardless of its contents, it must _always_ have the closing
</tag>. I really think this is a matter for html->str, at the
"boundary" of changing sexprs to HTML text.
Tweak the output of redex testing.

- Print an explanation up-front includign the number of attempts to
  follow.

- Only print every 100 times.

- Use flush-output so it appears immediately even in e.g. emacs shell.
Move redex test into a test submodule.

So not part of normal use of the library.

Also, use `check-equal?`. On failures, print the additional info we
have but let `check-equal?` print the usual actual vs. expected.
mv redex-tests/redex-html redex-test.rkt

Since I have other test files in the main directory.