Add private __getenv_reentrant()

A reentrant variant of getenv().
find_path*(): Fix B_FIND_PATH_MEDIA_NODES_DIRECTORY

It is architecture specific as well.
find_directory(): Add architecture support

* Move PathBuffer helper class out of find_paths.cpp into its own
  header.
* find_directory():
  - Make use of MemoryDeleter to simplify things.
  - Make use of PathBuffer for a simpler and more correct handling.
  - Make B_UTILITIES_DIRECTORY to B_APPS_DIRECTORY. /boot/utilities
    doesn't exist anyway.
  - Resolve the concerned constants to the architecture specific
    subdirectory, when called in a secondary architecture context, just
    like find_path*().
Added overlay image for read-only items.

Added a small padlock icon to mark read-only items.
See #10122.