extra.views.ProfileEditView: fix contact form handling

* fix assignment of Contactable object into new Contact instance
* if new contact form is empty, do not save empty Contact
* if existing contact form is now empty, delete existing Contact
extra.views.main.ProfileEditView: update history

Update history when editing the person and contacts
associated with the user.
extra.views.main.ProfileView: fix new Person instance

When a Player has no associated Person instance, create one with
the first and last names derived from the user name.  Also update
the history with the newly created Person.
extra.views.abook.BaseEditView: fix contact instance object

Add missing initialisation of a contact entry instance object
when creating a new one in BaseEditView.  This used to cause an
exception when saving contact details that were previously empty.
abook_url: remove implicit member translation

Do not returl the main object URL when the object
passed to abook_url is a Member instance.  The
URL is then redirected.  In the case where a
member is being edited, this needs to be left
with the member object id.
edit-member.html: add missing management_form