locale.c: Always set state variables for a new locale
This function is called when a new underlying LC_NUMERIC locale has been
set. If that locale is the same as the current underlying one, some
setup is skipped. However, prior to this commit, more was skipped than
should have been. The reason is that even if the underlying locale is
the same, it could be that LC_NUMERIC has been toggled to the "C"
locale, and so the information could be inconsistent. By always setting
the information, we ensure consistency.
This commit ia a portion of the fix for [perl #120723]. Tests will be
added with the final commit for it.