Feature/calculated fields

- Datasets are now making use of dirty dates in sensor_metadata
- Need to add column: ALTER TABLE sensor_metadata ADD calculated_datasets map<text, timestamp>;
- Datasets API checks whether entity and sensors exist and operation is supported
- Each synthetic sensor has dirty dates initialised with the min and max dates calculated from all selected sensors' lower_ts and upper_ts.
- Added :multiply operation and tests.