Move PUuid from shared to support
BPoseView::AddPosesTask(): fix count checks

In case GetNextDirents() returned an error, the wrong blocks were
executed.
BMergedDirectory::GetNextDirents(): fix end-of-list return value
BString::Private: Add IsShareable()
BStringList::Add(): fix ref counting problem

Handle the case that the private data of the given string is not
shareable.
PathMonitor.cpp: some style cleanup
BPathMonitor: use pthread_once for initialization
BPathMonitor: make the node watching mechanism configurable

Add inner class BWatchingInterface and method SetWatchingInterface().
This abstracts the calls to watch_node() and stop_watching(), thus
making it possible to use the path monitor in Tracker.
BPoseView::FSNotification(): fix issue in debug build
BPathMonitor: PathHandler::_NotifyTarget(): simplify

* Add optional entry_ref return parameter to _HasFile().
* Simplify _NotifyTarget() by using _HasDirectory() and _HasFile().
Add class NotOwningEntryRef

A entry_ref subclass that avoids cloning the entry name.
B_WATCH_FOLDERS_ONLY -> B_WATCH_DIRECTORIES_ONLY

Stick to the nomenclature generally used in the public API.
BPathMonitor: pass BMessenger by reference
Missed B_WATCH_FOLDERS_ONLY occurrence
Add BMessenger::HashValue()
BOpenHashTable: Add IsEmpty()
Fix node monitoring slot accounting for stop_watching()

NodeMonitorService::RemoveUserListeners() didn't decrement
io_context::num_monitors when removing a listener, so limit checks
would be off afterwards.
node monitor: add TODO regarding the syscalls
Add test suite for BPathMonitor

749 / 1504 tests fail
BPathMonitor: rewrite

This resolves all issues the test suite uncovered. It should also deal
with hard links correctly, though that hasn't been tested. Still
unsupported are:
* changes due to mounting/unmounting a volume,
* tracking of symlinks in the path components.