filter incomplete profiles from search, refs #447

* add model and code for computing and tracking incompleteness
* exclude incomplet profiles from search
* rework profile form to support first/last name, and allow some
  fields to be blank
* hook in form submission to profile auditing - not using signals
  at the moment due to oddness of user/contact/contactdetails
Merge branch 'master' into integration

Conflicts:
	models.py