allow empty value setting

Prior to this PR, there was no way to delete every setting, because then the `value` attribute would be blank, which was forbidden with a validation.

This PR removes the `validates_presence_of` for `value`.
Now it is possible to delete all settings by setting all to `nil`.
I added a few tests and updated one existing test to reflect the new behaviour.

closes #39
(which addresses the same problem, but without proper tests)