Rewrite uaccess functions to incorporate proper exception fixups

* The fixup mechanism allows recovery from kernel-mode page faults when
  accessing userspace memory, which prevents a misbehaving user process
  from inducing a kernel panic through supplying an invalid pointer.
* Perform elementary bounds checking in access_ok().
* Use generic strncpy_from_user(), strlen_user(), and strnlen_user()
  functions.  Implement the word-at-a-time interface with little-endian
  optimization; big-endian configurations defer to asm-generic.
Enable interrupts within the page fault handler

* Avoid acquiring the mmap_sem semaphore in atomic context.
  This relieves a potential error condition detected when
  CONFIG_DEBUG_ATOMIC_SLEEP is selected:

	BUG: sleeping function called from invalid context at kernel/locking/rwsem.c:20
	in_atomic(): 0, irqs_disabled(): 1, pid: 1, name: init
	CPU: 0 PID: 1 Comm: init Not tainted 3.14.15-gae0c4a3-dirty #40
	Call Trace:
	[<ffffffff804327b4>] walk_stackframe+0x0/0xf8
	[<ffffffff80432974>] show_stack+0x3c/0x54
	[<ffffffff80622494>] dump_stack+0x2c/0x40
	[<ffffffff8045ceac>] __might_sleep+0xf4/0x118
	[<ffffffff80626680>] down_read+0x2c/0x4c
	[<ffffffff80432c8c>] do_page_fault+0xc8/0x3b8
	[<ffffffff80431418>] handle_syscall+0x2c/0x30
Convert README into Markdown syntax
Move defconfig to the standard path
Fix indentation of Markdown code blocks
make READMEs consistent
fix README indentation