enable the destroy-ing a key with falsy data

problem: if you store a falsy value then you cannot destroy it because
```ruby
if self[var_name]
```
returns false and so `destroy()` raises a SettingNotFoundException

so instead we can check that the key exists