core: Warn on passing empty values to AbstractFieldDetails subclasses
There are no situations where passing an empty value (string or object) to
an AbstractFieldDetails subclass makes sense. It just introduces potential
bugs with mishandling empty strings (etc.) in code which consumes the
AbstractFieldDetails.
This commit adds warnings to all the AbstractFieldDetails subclasses’
constructors which check for empty inputs. We can't use assert()s here
because that would be an API break.
Helps: bgo#666540