wrap transactions in a RAII wrapper, add alarms structure, fix vacuum, remove ~Datapoint()