(pup-1839) Undeprecate and fix set_value

Prior to this commit, some of the refactoring of the settings logic
marked `set_value` as deprecated. At the same time, that refactoring
(unintentionally) omitted the cache invalidation step when `set_value`
was called.

The lack of cache invalidation ended up breaking `puppet device`
behavior, resulting in the "stack level too deep" error described
in this ticket (because `Puppet[:certname]` wasn't being updated
by the puppet device logic per-device as intended).

This change simply restores the cache invalidation step, and removes
(temporarily) the deprecation warning for set_value. A longer term
fix that restores that deprecation should be Coming Soon.