Vendor html5lib because regex are a terrible way to parse html
Use html5lib to parse HTML instead of using regexs

HTML is not a regular language and thus cannot be accurately parsed
with a regex. The regexs that pip had were gnarly, and required
multiple levels of them in order to "work".

Using html5lib instead of regexs makes the parsing step simpler,
better tested, and much more robust.

There is still some use of regex to parse html. Namely the hack
that looks for a <th> tag with a "rel" after it. This hack is
required to work inside of HTML comments so it cannot be parsed
as HTML.
Document the reasons why we are monkeypatching six into sys.modules
Rewrite six dependency to import from pip.vendor.six instead of six

* It was determined that simply rewriting the imports was less
  invasive than patching sys.modules.
Merge pull request #973 from pypa/parse-html

Use html5lib to parse HTML instead of using regexs