Delete buttons for projects and properties

- Add button to delete a project.
- Add button to delete a property.
- Add refresh flag to delete in ES.
Merge pull request #415 from MastodonC/feature/delete-buttons

Delete buttons for projects and properties
Add missing month partition to measurements query.
Merge pull request #416 from MastodonC/feature/fix-resolution-calc

Add missing month partition to measurements query.
Don't encode user_metadata if it's empty.
Merge pull request #418 from MastodonC/feature/user-metadata-fix

Don't encode user_metadata if it's empty.
Replace sha1 with uuid.

- Allow to edit programme name.
- Allow for editing project name and property code.
- Don't analyse uuid in ES (words joined by hyphens are otherwise
  treated as 2 words)
- Update proeprties UI to allow for editing of property_code.
- Add and delete devices: Recreate sensors when unit, period or type changes.
- Add job to migrate types.
- Update routes and sensors table with sensor_id.
- Update datasets with new sensor_ids
- Return sensor_ids on device POST and update measurements API
- Update comparison page with sensor_id.
- Update generators and etl.clj.
- Don't allow duplicated names for programmes, projects and properties via UI.
- Improvements to datasets API & UI (add PUT and DELETE).
- Update tabs' contents when switching property.
Fix charting for new sensor_id field.