This better describes what it does.
Also, took this opportunity to update a bunch of the uifield code
(no multi line variable declarations, prefix state variables with _,
eliminate unnecessray lodash, etc)
(closes#4970)
They are still supported as translated strings, and user can still enter these
values in the raw tag editor, but they should not toggle with clicks in the
checkbox field. This is because novice users are confused by what they mean.
Fixes issue with nested/namespaced fields, such as `maxspeed/advisory`,
in situations where would try to use a css selector or element id.
Can't use characters like '/' in a css selector.
* convert iD.Detect() iife to a module
* iD.Detect() should return loaded locale (except for 'en')
(The previous code was a hack to replace the detected locale with the loaded
locale. Now that Detect is a module, we can not replace the detected locale
from external code, but we can have Detect() return the locale we really want)