Utility functions for editing user authorisations.

Add/Remove programmes and projects.
Merge pull request #78 from MastodonC/feature/user-editing

Utility functions for editing user authorisations.
Resource index allowed? first cut.
Added core.match.
Added data getting for index-allowed?
Added tests for authn.
Handle missing entities properly in *-allowed?

If the programme_id and project_id can't be found then the entity
doesn't exist so returning true as anyone can do things to something
that doesn't exist. Other methods will return how the missing resource
should be handled.
Merge pull request #79 from MastodonC/feature/further-authz

Feature/further authz
Moving from the dl to the form.
Fixing an update issue.
wip: edit, save and cancel form editing.
Update entity on PUT and add PUT to property_details tab.
Slight PEBCAK: map was strigified.
Fix refreshing of the UI after PUT.
Hide buttons when not needed.
Edit/save address.
wip: editable fields.
Don't select row when it's being edited.
wip: need to separate device data from sensor data.
Save and refresh devices.