rwsem: Optimized ARM RWSEM algorithm and backported from 3.4 kernel

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

Conflicts:
	lib/rwsem.c