ConfigurationItem set_temp() now resets properly on exception

This fixes #2111

c/c @embray and @mdboom