linux_syscall_support.h: add aarch64 support

Aarch64 support for linux_syscall_support.h. Since Aarch64 is a brand
new architecture, none of the legacy system calls are neccesarily
available. Thus some changes were neccesary affect other architectures
as well:

1) use getdents64 where available and else getdents (for ppc64)

2) other legacy system calls, pipe, waitpid and open replaced by pipe2,
   wait4 and openat where available.

3) use fstatat if stat is not available.

The aarch64 system call interface follows the Aarch64 calling convention
(regs x0-x5 for arguments and x8 system call number - return in x0).
Clone implementation is adapted from glibc.

v2: step back in getdents removal due to ppc64
Add aarch64 defines

With atomic operations and system call support in place, enable
with __aarch64__ defines Aarch64 support in other files around
the google-perftools header files. After these, google-perftools
testsuite (make check) results:

8 of 46 tests failed.

FAIL: sampling_test.sh
FAIL: heap-profiler_unittest.sh
FAIL: heap-checker_unittest.sh
FAIL: heap-checker-death_unittest.sh
FAIL: sampling_debug_test.sh
FAIL: heap-profiler_debug_unittest.sh
FAIL: heap-checker_debug_unittest.sh
FAIL: profiler_unittest.sh

While it indicates that there is still work to do, This is still
better than the result I get on ARMv7:

12 of 46 tests failed.