Merge {i386,amd64}_linux_read_description

This commit merges i386_ and amd64_linux_read_description, renaming
both to x86_linux_read_description.
Merge ps_get_thread_area

This commit adds a new helper, x86_linux_get_thread_area, to
hold the common parts of the ps_get_thread_area functions in
i386-linux-nat.c and amd64-linux-nat.c.
Pull out common parts of _initialize_{i386,amd64}_linux_nat

This commit adds two new helpers, x86_linux_create_target
and x86_linux_register_target, to hold the parts of
_initialize_i386_linux_nat and _initialize_amd64_linux_nat
which are common.
Comment and whitespace changes

This commit merges the comments and whitespace in the common
parts of i386-linux-nat.c and amd64-linux-nat.c.
Move duplicated code into new files

This commit moves the shared code in {i386,amd64}-linux-nat.c
into the new files x86-linux-nat.[ch].  Additionally, a new
file i386-linux-nat.h was required to expose a value required
by the 32-bit code in x86-linux-nat.c.
Tidy #include lists

This commit tidies up the #include lists in {i386,amd64}-linux-nat.c,
removing headers that are no longer required and reordering some lines
so that both files roughly match.  Additionally, an unused definition
was removed from the middle of the #include list in i386-linux-nat.c.