Always provide a usable PATH_MAX

If a program does not include limits.h (or includes it after roken.h),
it can end up with PATH_MAX defined to be MAX_PATH, but MAX_PATH
undefined.  This causes consumers of PATH_MAX to become unhappy.

Work around this case by only using MAX_PATH if it is available, and
a constant otherwise.