Before this commit, if the NVM is deemed valid and but the subsequent config load fails (e.g. because of a checksum mismatch), the motor config could be left in an undefined state.
Also a variable user_config_loaded is added to indicate whether the device is using user-saved config or factory defaults.