arm: add SDIV/UDIV emulation for ARMv7 processors
arm: updates for kernel NEON
futex: updates

Prevent attaching to kernel threads;
Add another early deadlock detection check;
Forbid uaddr == uaddr2 in futex_requeue(..., requeue_pi=1);
Validate atomic acquisition in futex_lock_pi_atomic();
Always cleanup owner tid in unlock_pi;
Make lookup_pi_state more robust.
revert Backlight driver changes
add GCC 4.6-4.7 capabilities
lib: add generic strnlen_user() function

This adds a new generic optimized strnlen_user() function that uses the <asm/word-at-a-time.h> infrastructure to portably do efficient string handling.
In many ways, strnlen is much simpler than strncpy, and in particular we can always pre-align the words we load from memory. That means that all the worries about alignment etc are a non-issue, so this one can easily be used on any architecture. You obviously do have to do the appropriate word-at-a-time.h macros.