Detailed upload status reports.

Data layer for upload status that stores report and status of csv
measurement upload n Cassandra rather than S3 and a refresh button for
status.
Merge pull request #401 from MastodonC/feature/upload-status

Detailed upload status reports.
Fix time formatting on upload status.
Merge pull request #402 from MastodonC/feature/fix-time-formatting

Fix time formatting on upload status.
Better csv measurement upload error reporting
Must have a timestamp to insert.
Merge pull request #404 from MastodonC/feature/better-failure-reporting

Better failure reporting and error handling for csv measurement upload
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.
Improve editing of datasets.
Improvements to datasets.