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.