Changed check for *info child in id.warning template from using
contains() to using ends-with() -- because contains() will match
informal* elements (informaltable, etc) too -- not just *info
elements.
Also added check to make sure that *info element matched actually
has a title (because some *info elements may not -- title is not a
required child of *info elements).
And FWIW, I don't think it is too aggressive to have the default
behavior be to have the stylesheets emit notification messages
about ID-less titled objects. If it were the default to have it
not emit those, most users would probably never take the time to
turn it on, including the users who it is most meant to benefit
(those who don't yet know why they ought to be putting IDs on
their titled objects).