rework updateOption to ensure it doesn't blow away a user-customized option during migration. option will only be updated if the "oldValue" is equal to the "former default value"