Issue #3620188: Add the scalar shapes - number, flag, date, link, list
Most fields of a real content model are scalars, and a scalar read straight out of storage is a string. Each of these has one detail that a string gets wrong, and that detail is the whole reason the shape exists.
A number that cannot be counted with: a front end that gets "12" and adds one gets "121". The cast is by the type of the field rather than by what the value looks like, and a decimal is rounded to the scale it was configured with, because money is the usual reason a field is decimal and 12.50 stored and 12.499999999999998 answered is the classic way to lose it.
A false that is true: a boolean is stored as "0", and the string "0" is true in every language a front end is likely to be written in.
A moment a day out, or formatted for the wrong person. A date is answered with as both the number a program counts with and the words a person reads, because neither consumer can make the other's from what it got. The words are made in the timezone of the site rather than of whoever is reading: a response is cached and served to everybody, so a date formatted for the reader would be one reader's evening shown to another reader's morning. A range answers with both ends in that same shape.
An address nobody outside Drupal can follow: a link field stores "entity:node/12", and resolving it is also what pulls in the alias the site publishes. Resolving has cache metadata of its own - an alias can be changed, a node deleted - and the existing read of these throws it away, which is how a response keeps a link to a page that has moved. The address stays relative unless asked otherwise, for the same reason processed text leaves page links alone.
A key with no words on it: answering with the stored value alone makes every front end carry a copy of the list, which disagrees with the site the first time somebody edits it; answering with the label alone makes the value untranslatable and unusable in a condition. Both, named, and the labels are configuration the response now says it depends on.
Closes #3620188