On observation (row) update and delete do not remove data

First round of keeping historical data, currently on delete or update of a dataset row the data is removed from the collection or overwritten.

With this change, on deletion, the key `deleted_at` is set to the current time.  On update the same key is set on the existing record and a new record is created with the updated row.

On `find` any rows with `deleted_at` not set to 0 are ignored by default (MongoDB docs say this is faster than only having `deleted_at` for deleted rows and then using the `$exists` operator).

There is no client-accessible interface for