Add value types to screensaver security defaults, and enforce value types for preference keys in general

Fixes for the following issues:

1. The screensaver security defaults didn't seem to be affecting the corresponding settings in System Preferences as intended, because the key types weren't specified and so the defaults were being written incorrectly as type `string`.

1. Defaults weren't being updated if just a value's type and not the value itself changed. (E.g. the first fix would not have had an effect if the screensaver security defaults were already set with the intended values but the wrong value types.)