(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.