Shift strip_dict to the module that uses it.
Remove parliament and session from Question.

These are now fetched from the attached QuestionPaper instead.
Remove 'house' from Question.

Use the linked QuestionPaper for house instead.
Remove source_url from Question.

Use the attached source on QuestionPaper via a property.
Remove FIXME and add comment.
Simplify regex.
Use 'house' from document metadata.

With a sanity check on the contents of the file.
Use correct document number in tests.

May as well use the correct number even though we don't currently
do anything with it.
Get the document number from the url.

For questions, the document number is in the url, so let's get it
from there and store it (it's also in the PDF's metadata, but this
seems easier).
Bulk create Question objects.

If doing enough scraping, this should make for a minor speed increase.
Store deep lookup as local variable
source_url now lives on the QuestionPaper object.
Remember to pass the dictionary arguments with **.
Content of pdf file needs to be retrieved as binary.
Use .exists to check for model existence.

Probably makes no difference, but feels like good practice.
QuestionPapers are not unique by year/issue number.

They are hopefully, however, unique by year/issue number/house.
That is, there are year/issue number combinations for which there
are both a National Assembly and a National Council the Provices
question paper.
Use date object for date_published.

We were just using the date as a string for the date_published
on a QuestionPaper, but this isn't in a format django accepts,
so convert to a datetime.date object.
Check for existing QuestionPaper rather than Questions.

Now that we have a QuestionPaper object with metadata at
that level we can check for that to see if we've already handled it.
Tidy up output from --scrape-questions.
Store pretty printed xml for each question paper.

Before we were just storing a repr of a python object, which
is not all that useful.