XCHGADD ARM implementation

RWSEM implementation for ARM using atomic functions.
Heavily based on sh/include/asm/rwsem.h

The following patch is the ARM implementation for RWSEM_XCHGADD_ALGORITHM.
Based on David's rwsem benchmark from http://lwn.net/Articles/89191/ ,
I see a consistent 5-6% increase in the number of reads and writes taken as
compared to RWSEM_GENERIC_SPINLOCK on a dual core ARMv7.

Signed-off-by: Ashwin Chaugule <ashw...@codeaurora.org>