Be more suspicious - double spaces can happen.

The sanity check for how many questions to expect needed to be more
lenient as there are sometimes double spaces.
Note that deleting the first two text elements doesn't do it.

Because there might be other spurious text elements we need to be
a bit cleverer.
Squash whitespace.

The output of pdftoxml often ends up with repeated spaces. These
cause trouble for matching, so we may as well squash them down
to single spaces.
Cope with missing closing parenthesis.

There is at least one example (well exactly one known example :-))
of the constituency after the name of the question asker missing
its enclosing right parenthesis. As it's easy to fix it to cope with
this, we may as well.
Party, not Constituency!

Store the party temporarily - we might be able to use it at some later
date.
Cope with no space between question asker and party.
Better removal of page headers.

Page headers were leaking into questions causing some bad text,
and some of them to be dropped.
Add warning that pdftohtml required in tests doesn't match that on our servers.
Allow . instead of : after question askee.

At least one example exists where there are dots in the askee of
a question rather than colons. I can't see any harm in accepting either.
Cope with bad output from pdftohtml.

pdftohtml sometimes produces bad xml with a <b> opened followed by
an <i>, followed by </b> followed by </i>.

Work around this by reordering the </b> and </i> in limited
circumstances.
Improve output.

Slightly more helpful output for the question scraper, though there
is still more to do to make it nice, in particular, it would be
good to get everything in order (stdout and stderr interleaving).
Sort out bad output from pdftohtml.

A more thorough sorting of this by simply removing all <i> and </i>
tags at scrape time.