Add member property to membership schema

I'm adding this property to the popolo+mysociety/membership.json schema
initially, as this isn't officially part of popolo yet.

This property will be used as a polymorphic reference to the person OR
organization that is related to the organization of the membership.

This is to help support the concept of coalitions in PopIt, the idea being
that there is an organization which represents the coalition, then the various
political parties that are part of the coalition have a membership
record where the party is the "member" of the membership, and the
coalition itself is referenced through the "organization" property.
Find memberships using the "member" property

This retains backwards compatibility with the previous implementation
that used `person_id` to identify the person that was associated with
the membership. Now you can associate any type of object with a
membership, though it's most likely to be a person or an organization.
Update fixtures to use new member notation

To support coalitions the "person_id" string on memberships has become a
polymorphic "member" object with an "@type" and "id" property. This
allows either a person or an organization to hold a membership.
Move the membership finder plugin into a module

For consistency with the rest of the codebase, mongoose plugins should
live in "src/mongoose/".
Make sure parent organizations are populated

When populating the memberships of a person record also retrieve any
parents of organizations that the person is related to.

This allow a user to get all the information about a person, the parties
they belong to, and the coalitions those parties belong to, in one
query.