cmSystemTools: Fix _NSGetExecutablePath calls on OS X 10.3

The buffer size argument is a different type on OS X 10.3 versus
OS X 10.4 and later.  Choose the type based on the OS X version.

While at it, use a local macro to avoid duplicating the local buffer
length.
Merge topic 'cmake-internal-locations' into next

328421f cmSystemTools: Fix _NSGetExecutablePath calls on OS X 10.3