libmount: monitor unref function refactoring

Signed-off-by: Karel Zak <kzak@redhat.com>
libmount: make public top-level monitor FD only

We need full control on changes evaluation, so it's better to
hide all in our private epoll. This change also significantly
simplify the API.

 mn = mnt_new_monitor();
 mnt_monitor_enable_userapce(mn, TRUE, NULL);
 mnt_monitor_enable_kenrel(mn, TRUE);

 fd = mnt_monitor_get_fd(mn);
 ...
   <use 'fd' in epoll controlled by your application>
 ...
 while (mnt_monitor_next_changed(mn, &filename, NULL) == 0)
 	printf("%s: change detected\n", filename);

Signed-off-by: Karel Zak <kzak@redhat.com>
libmount: (monitor) cleanup wait/verify stuff

Signed-off-by: Karel Zak <kzak@redhat.com>
libmount: (monitor) add kernel mountninfo monitoring

Signed-off-by: Karel Zak <kzak@redhat.com>
libmount: (monitor) use inotify for utab lock file

It's better than monitor utab directly. The utab is updated by
rename(2) and it's really tricky for inotify, because it's necessary
to monitor all /run/mount directory and then it's necessary to verify
that the renamed file is really "utab".

The new concept is without possible false positives and it also
triggers the change when utab update is really done.

Signed-off-by: Karel Zak <kzak@redhat.com>
linmount: (monitor) refresh docs, headers and symbols table

Signed-off-by: Karel Zak <kzak@redhat.com>