NSUserDefaults improvements and documentation