· Import from compat what comes from compat. Yes, some names are available in utils too, but that's an implementation detail.
· Use _match_id consistently whenever possible
· Fix some outdated tests
· Use consistent valid URL (always match the whole protocol, no ^ at start required)
· Use modern test definitions
The HTML for the MIT page does not parse cleanly for Python 2.6 due
to script tags within an actual script element. The offending piece
is inside a comment block, so removing all such comment blocks
fixes the parsing.