Fix bug with indented code block followed by non-indent blank line.
Fix bug with HTML comments containing "--".
Delete commented-out test code.
Don't give id attributes to headings in strict mode.

DRY this logic in a function shared by atx and setext headers.
Add/use html-element-contents parser.

And in block elements, parse only HTML, not `$inline`s.
Consume trailing hashes in atx headings.

Also: Add unit tests for headings.
Fix some HTML parsing bugs.

Resolve some confusion about block vs. span elements. Don't try to
parse markdown inlines inside of block elements.

Now passes the entire Gruber test suite, except for two differences I
think are justifiable.

Also: Use `<?>` to label more of the HTML parsers for better error
messages. (Although the end user shouldn't see any syntax error
messages, as a dev they are helpful when something isn't working.)
Add dep on `sexp-diff` pkg. Bump to v0.8.

Use sexp-diff for vastly better output from suite.rkt. Some of the
xexprs are very large. This pinpoints the differences.

Speaking of suite.rkt, move its contents inside a `test-suite` module,
so not part of main load image. And not in a `test` submodule because
two of the tests still fail. (They fail justifiably IMHO, but they
fail. Among other things, this would bugger the Travis CI build
status.)