Split big 'if' in get_context_data into a couple of classes.

get_context_data on SAOrganisationDetailSub was getting rather iffy.
Shift sub_page to view initialisation arguments.

We were always setting 'sub_page' in the extra arguments passed
as if they had been found in the URL. Instead of setting it here
every time a url is accessed, let's set it at setting up urls
time in the kwargs of as_view. This means that we can then
access all of those things directly as attributes of the view
rather than as values in self.kwargs, and it also means that
we can set class a class attribute of sub_page in subclasses
rather than doing it in the urls.py file, allowing the splitting
of, for instance SAPersonDetailSub into subclasses.
Whitespace tidy
Sort positions differently so that they are grouped by person.

Sort positions by triples of

(surname, person_id, is it membership of a parliament)

in order to make sure that all positions of the same person appear
together and that parliamentary membership appears first for a person.
Merge remote-tracking branch 'origin/issues/1336-duplicate-users'