add CouchTransaction for doing bulk operations (slightly) more elegantly