core/path: install inotify watches top-down instead of bottom-up

When watches are installed from the bottom, it is always possible
to race, and miss a file creation event. The race can be avoided
if a watch is first established for a parent directory, and then for
the file in the directory. If the file is created in the time between,
the watch on the parent directory will fire.

Some messages (mostly at debug level) are added to help diagnose
pidfile issues.

Should fix https://bugzilla.redhat.com/show_bug.cgi?id=917075.
tmpfiles: move exclamation mark into right place

Unary not has higher precedence than comparisons,
so the condition was bogus.
tmpfiles: use cleanup func. to save a few lines