Fixes #3260: Allows puppet to manage value of smart class parameter that can be overrided

value_of_key returns nil when value[:managed] is true. I'd find it more readable if that is  explicit. Other option is to set value to nil  in `values_hash` method and not keep track of whether it is managed by puppet in the hash. What do you think?