Implement NSUserDefaults

We do not want to be passing cells or selection item objects around. The view controller knows about the settings item model and it can figure out how to set the new value. To make it generic, there should just be a method like:

`- (void)setValue:(id)value forDebugSettingKey:(NSString *)key;`

This method takes the key, prepends "DEBUG" as you are already doing, and sets the value for the user defaults key. `value` should not be nil, nor should `key`.

Then, the view controller can look up the key for the settings item that was changed and pass it as well as the new value to this method. Thus the settings interface simply manages the settings values themselves, and (for now) acts as the data source for the table view - let the view controller act as the bridge between the UI (cells) and the model (settings items).