Use transaction_atomic instead of safe_*; add useful method
More test fixes; add create_reverse_domain