html5lib - commit external html5lib for lenient HTML parsing

Unfortunately this module is required on a Windows machine for whom
it'll be impossible to install additional external dependencies.
Fortunately html5lib is pure Python so just commit it wholesale into
our repo as a hack. A subsequent gets BeautifulSoup to use this parser.
src/build.py - intelligently handle legacy HTML text

Legacy HTML is also used for descriptions, not just Markdown.
Unfortunately it is often completely invalid, hence we need to use
a very tolerant HTML parser. BeautifulSoup is able to use html5lib
to achieve browser-like parsing.

Additionally we need to fix up image links to be relative in the
correct way.