isolate deleted_at code in Observation model
move version check command to bottom, rarely needed
migration to add deleted_at to all existing observations