XMLFileBacked: Watch XIncluded files that do not exist

This makes a best effort to watch XIncluded files that do not exist.
Assume that you have XIncluded ``foo.xml``, the following (currently)
fails:

    mv foo.xml /tmp
    mv /tmp/foo.xml .

Bcfg2 processes the deletion event, and stops watching ``foo.xml``;
consequently, it receives no creation event when you put ``foo.xml``
back.

This does not fix the situation where you add a new file that is
matched by a wildcard XInclude, which turns out to be much more
difficult, and will likely require a significant restructuring of how
wildcard XIncludes are processed.  (I.e., we'll need to place a
monitor on the directory or directories where the wildcard XInclude is
looking, and then filter events according to the wildcard.)
Metadata: Reread clients.xml/groups.xml more carefully

Avoid building client metadata while rereading those files, and expire
the metadata cache afterwards.