Set..update(): use emit_operations() to make transaction, code remains commented out
ec2_availability_zones() & ec2_describe_spot_price_history(): overload Set.._add_value() instead of add() to use transaction
thumbnail(): overload Set.._add_value() and Set.._remove_value() instead of add() and remove() to manage transactions and simplify code; other refactoring; not tested