Adding a test for slug_source in membership
Moving the test up
Test to improve coverage birth_date is copied to start_date
[Improving coverage] adds a test to copying the death_date of a person to end_date
Improving coverage but not passing two tests
Instead of using a signal using the overriden method save() of the model Person
Including missing comments in the save method
Switch to use ForeignKey for Organization parent.
Mandate required fields of Post and Membership.

organization is required on a Post; person and organization are
required on a Membership. Use the post's organization in the
add_role and add_person functions, and remove the properties
for accessing membership_set/post_set, instead using the default
Django way of accessing.
Correct some GenericRelation help_texts.
Create Source generic relation.

If a model has two GenericRelations to the same model, there is no way
to differentiate between them. So we add a new Source model to be used
for sources.
Merge branch 'ciudadano-pr'
Merge branch 'mandate_required_fields'
tests restored after merging pull requests from mysociety
Merge branch 'make-parent-foreign-key'
conflict solved after merging mysociety/remove-dupe-relation pull request
unicode methods added to classes
Remove use of Permalinkable.