Fix markdown

After the bugfix in 258701e856.

This does mean that we can’t have:

a)
b)

etc, but those should be semantic lists rather than literals anyway.

Improve error reporting in linting, to give an indication of where
the problem is.

Added test file.

This was run using go test lint_test.go. Suggestions appreciated
for how to make this better. Currently I'm copying the function
from one go file to another, then running the tests and tweaking it
and copying the result back.