Add a simple MapIt postcode lookup, with no error checking as yet

Pair-programmed with Jenny Duckett (@jennyd)
Add some error handling for invalid postcodes

Pair-programmed with Jenny Duckett (@jennyd)
Add a basic smoke test for the front page
Install ipdb and ipython since they're useful for development
Add tests for looking up real and invalid postcodes

We should really replace the MapIt lookup with a stub that returns
expected data for these test cases, but we're leaving that for the
future.
Add a function to find the candidate list organization ID in PopIt

Pair-programmed with Jenny Duckett (@jennyd)
The version of PopIt-Python is old and broken; use GitHub instead

The old version appended slashes to requests, which made any request for
an entity return 404.

This new version of PopIt-Python can also be used with a newer version
of requests, so upgrade that too.

Pair-programmed with Jenny Duckett (@jennyd)
List the old candidates on constituency pages

This also includes a "Standing again?" button which does nothing so far.

Pair-programmed with Jenny Duckett (@jennyd)
Use PEP 8 whitespace between classes
Also display any known 2015 candidates

Pair-programmed with Jenny Duckett (@jennyd)
The import script should enable easily requesting "all parties"

Previously there was no defined classification for organisations that
were political parties - this commit changes that so that they're
created with classification "Party".  This means that now we can get all
the parties with a single search query.
Create a PopIt person class to wrap the PopIt data for a person

Pair-programmed with Jenny Duckett (@jennyd)
Keep the API object as an attribute of PopItPerson

Pair-programmed with Jenny Duckett (@jennyd)
Add a very basic method to get the party a PopItPerson is a member of

Note the FIXMEs in its implementation

Pair-programmed with Jenny Duckett (@jennyd)
Make 'party' a cached attribute of the PopItPerson

This is rather than calling get_party every time you want to get the
party that a person is a member of.

Pair-programmed with Jenny Duckett (@jennyd)
Factor out creating the PopIt API object into a mixin

We'll need this for all subsequent views

Pair-programmed with Jenny Duckett (@jennyd)
Make the "Standing again?" button create a new candidacy

Pair-programmed with Jenny Duckett (@jennyd)
Add a FIXME to only show the 'Standing again?' option when relevant
Make the PopIt port configurable
Rename get_candidate_ids to reflect that it's more general