Basic edit view without javascript

Trying to make the edit view work without javascript, then progressivly
enhance it a bit where necessary seems like a better idea than the
tangle of javascript that we've got at the moment.
Update popit-api
Add popit-api's storageSelector middleware

This allows popit to access popit-api's models, which will mean that
eventually we can move towards having a single set of models, rather
than two which we have at the moment.
Add person update route to person app

This allows us to update the person without having to go via the API,
which allows us to intercept the request and pull out a person's
memberships and create/update them before saving the person.
Add href attributes to person Edit/Cancel links

Rather than using javascript for links we just make them real links.
Extract subfield editing into proper forms

Rather than using Backbone forms, we use actual form fields which can be
edited without having to mess around in the javascript.
Simplify adding a new other_name field

Rather than constructing the whole view in backbone, simply use a basic
underscore template and append it to the DOM.
Simplify adding profile links
Simplify contact_details editing
Make add new membership button work
Simplify adding identifiers
Allow deleting array items
Process memberships before saving person changes

This allows us to create/update memberships before saving the person.
Move form into own view and make it behave the same

As before the edit form is now done inline. Unlike before the submit
mechanism, for now, just submits to the server and then reloads the
page. In the future we can make this a bit snazzier, but this works
nicely for now without having to worry about updating page state.
Autocomplete select2 for memberships
Create missing organizations for memberships

If an organization doesn't already exist, create it before saving the
membership.
Wire up other membership fields
Move primary membership logic into person app

This is a bit of a hack to get the primary membership displaying in the
header of the person page, but it makes more sense for it to be here
rather than an add on to the API.
Filter out null values from incoming arrays
Remove deuplicated logic from person app