housekeeping: Make some functions public to allow debugging
housekeeping: Fix warnings when info cannot be gathered
housekeeping: Don't follow symlinks to subdirectories

Check whether a leaf node is a symlink before processing it, and if it
is, check whether we should delete the link itself.

This works around a possible bug in GIO where GFileEnumerators will get
the filetype of the linked-to item, instead of detecting that it is a
symlink.

https://bugzilla.gnome.org/show_bug.cgi?id=730223