Make toElasticsearch function async

This allows us to do extra queries before the document gets indexed into
elasticsearch. We can use this to get the person and organization
information for a membership before it is indexed.
Index organization/person/post related to membership

Override the toElasticsearch method so that we can index a memberships
related models, which in turn allows the user to query against the
related objects through the search API.