Redirect new-form MP URLs to MP page with PID.

New form is `/mp/1234/name/constituency`, although technically only the
ID number is required to resolve. Entire URL is passed so the page can
determine if canonical URL is used (and redirect if not).
Move Elizabeth II special case to start of function.

Now returns the special case URL earlier, rather than building the whole
URL and then ignoring it to return the special one.
make_member_url() supports passing of PID.

Where PID is passed it will be used in building the URL.
MP page now tests for PID first.

Pages accessed via PID will also redirect to canonical page URL if the
URL used is incorrect (eg an old MP name or constituency).
Moving braces and adding comments to make the code clearer.
Remove unnecessary $redirect and ->canonical functionality.

All non-canonical URLs are automatically redirected, so there is no need
to explicitly track this state.
Calls to make_member_url() now pass through the PID.
Tests for retrieving members and generating member URLs.
Fix inconsistent indentation and trailing whitespace.
Add error message where PID is invalid.