Made the BNF more resilient and fix section bodies

The BNF description covers more facts now, and correctly wraps
subsections (e.g., the various resolutions of a fact) together.
Pre-process facts a bit now before parsing

Since we only really want some part of the top of the file, there's no
sense in passing the whole thing along to the parser. This should
improve performance a bit.
Improve logic for BodyContinued

It should also accept text starting with `'`, ```, or `"`.
Ignore some more things
Markdown processor now makes bulleted lists

...but only if that list would have more than one item.
Escape HTML in markdown output

The code doesn't account for html that's already within backticks
because that doesn't actually happen in any of the fact docs (yet).
That's definitely something to add.
Successfully generates docs

Major caveat: I had to fix formatting in a number of facts to get them
to parse. I'll be sending back my changes as a PR, but for now this
won't actually run against the current version of facter.