Shortcuts: use BPathFinder instead of find_directory. Fixes #9958.

* Previously, BPath::Append() would return an empty path if the
  path didn't exist (and an error); in a nightly image, the
  B_USER_ADDONS_DIRECTORY didn't exist, triggering the bug.
* Replaced the code with calls to BPathFinder instead, which takes
  care of the empty path automatically.
shortcut_catcher: A few 80 char limit fixes
shortcut_catcher: rename a couple variables

Fix build, msg => message

Fix warning use int32, not uint32

Also do a bit of refactoring.