linux: some portability fixes for AT syscalls

Attempt to just include the AT syscall definitions from
linux/unistd.h to avoid trying to define them for every
different architecture in one file.

Add the CMake check for the linux/unistd.h and adjust
the fsal handle header file to incorporate that preprocessor
directive

Signed-off-by: Charles Hardin <ckhardin@gmail.com>
config: fixup some compiler warnings in the config parsing

Several compiler warnings are generated when pointers are assume
to be 64-bit, like the following:

src/config_parsing/config_parsing.c:878:8:
   warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]

The fix is to convert the casting to use a "uintptr_t" which is defined
to the be the integer representation of the the pointer with the
correct size and the warnings go away.

Signed-off-by: Charles Hardin <ckhardin@gmail.com>
atomics: implement locked versions of the atomics for other platforms

When GCC doesn't support an atomic operation, it attempts to link to
an external implementation to provide the support. This just implements
a locked version of the atomics to get the support into the codebase

Signed-off-by: Charles Hardin <ckhardin@gmail.com>