Add extension traitlet to force dotted names

This addresses the problem from #7179 more generally. Tests will fail for this until that is merged.

I wasn't sure if this was really the best place for the custom trait, or if I should put it in `IPython.nbconvert.utils` or something instead.
If you inherit from Unicode, I think  you should be able to have `value = super().validate(obj, value)`, and just add the startswith logic below.