ENH: read-html fixes

Some updates and bug fixes. See release notes for more details.

- ~~`vbench` stuff~~ sort of pointless right now since we don't really have control over the speed of the parsing library
- ~~Figure out why `lxml` chooses to ignore things~~ reported a bug w/ example to lxml people
- ~~Figure out why `bs4`'s `thead.find_all(['th', 'td'])` parses differently than `lxml`'s `thead.xpath('.//thead//th|.//thead//td')` even when `lxml` is the `bs4` backend.~~ same as above