XHCI USB: some fixes.

* AllocateDevice(): don't include the root port in the route.
* SubmitNormalRequest(): fail if we couldn't allocate the a descriptor.
Devices: Check out of bound array access on category strings.

* Computes the length of the category strings array.
* Checks against this length before accessing the array
* Improves comment
* Should fix #10186

Signed-off-by: Jérôme Duval <jerome.duval@gmail.com>
usb_disk: accept B_DEV_MEDIA_CHANGED as a ready unit.
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.
find_path*(): Support user specific home directory

No longer hard-code the home directory path. Instead ask
find_directory(), so we get the correct one for the current user.
FileRequest: make sure we're dealing with a file.

Trying to Read from a directory results in an error code, but we also
missed that because an unsigned variable was used to store the result.

Fixes #10210.
Added family parameter to the GetRoutes() API.
Moved common code to a private file.
Add the secondary arch version of libroot_debug

Some gristing mixup caused the non-secondary version of the lib to be
added to the non-secondary directory, which is what the main
architecture HaikuDevel is already doing.
Add Ruby package.

Works well enough for building WebKit, but probably not much more.
Get the route for the correct address family.
Fix displaying wireless network authentication.
The wrong value was passed to WirelessNetworkMenuItem.
Style fixes.
Style fixes pointed out by Axel. I'm rusty, and it shows.
Hope I got it right.
Also moved get_route() into BPrivate.
s/B_FIND_PATH_IMAGE_PACKAGE_PATH/B_FIND_PATH_PACKAGE_PATH/

It doesn't only work for image files, so make the name more general.
find_path_for_path_etc(): Fail for B_FIND_PATH_IMAGE_PATH

There's no image in this case. We would just return the path we were
given.
BPathFinder: Coding style improvements
Add find_path*() API docs, improve FindDirectory.h docs
Add get_*architecture*() API docs