(PUP-1839) Flush cache when setting value
The set_value method was deprecated and rewritten as part of the work
to implement puppet config set. However the new implementation lost
the call to unsafe_clear_cache which caused any set values to not show
up if the setting's value had previously been read. Also, the method was
still used by the puppet device code.
This is a small fix to get puppet device working again. This flushes
the cache and removes the deprecation.