settings: call CSettingsManager::Clear() before uninitializing settings handlers and subsettings so they can perform the clearing as well
settings: only register the CWakeOnAccess settings handler once
settings: unregister settings handlers in the same order as they were registered
settings: cosmetic on iterator comparison
settings: fix crash after 890bbf42168e96af0eea4e08666488d54ae4ad4d when unregistering an unknown settings handler
fix crash in CGUIDialogPeripheralSettings after settings control refactor