Instead of processing the "rich" value at the dirstatemap level, we can now directly pass them to the DirstateItem object. This will make the object free to store whatever its want and to implements it logic whatever its want.
For now… we simply process the flag and store the same good old value. However
this pave the way for doing things differently once the rest of dirstatemap
code is updated.
Nobody call this code yet.
This differs from the Python implementation (it uses None). Why should 'r' be a good idea here, in particular with the arms that don't set another state later?