Add support for -mno-atomic to gcc and glibc.

When the flag is passed, atomic memory operations (RV32A, RV64A)
are avoid by gcc and glibc.  Atomic locking necessary for NPTL is
done via a new Linux system call.  Previous behavior utilizing
atomic memory instructions (i.e., -matomic) is the default.
    
This change is mutually dependent on the corresponding change to
riscv-linux.

Also update Linux headers from Linux 3.14.15 and riscv-linux
master to simplify changes due to -mno-atomic.