Reformats gdbinit to use submodules

The old layout is difficult to maintain due to the size of gdbinit and the fact that it is difficult to identify various components. The file has now been broken up into multiple submodules which are loaded by the main gdbinit file. .gdb and .gdbinit has to be symbolically linked to the users home directory for this to work.
Code cleanup

Reindented code so that every module follows the same syntax.
Autodetect target architecture

Attempt to autodetect the target architecture and set up the global flags accordingly. This will make it unneccessary to try to figure this out manually and hardcode the values in .gdbinit.
Adds support for MIPS

Restructures the architecture-specific code to never assume that a
certain architecture is being used. Adds a $MIPS global that when set to
1 identifies that the debugged target is MIPS.

Also breaks out the script for detecting a target and places it as a
bash-script in the .gdb-directory to make it easier to debug.
Fixes issues in data printers

When passing an expression containing spaces as an argument to a GDB
command it will be interpreted as multiple arguments even when enclosed
in parentheses. In order to follow the general coding style these
arguments are broken out and set in local variables that are then
passed as arguments instead.
Moves the ChangeLog into a separate file

Having the ChangeLog in the .gdbinit-file now that it has been
modularized made little sense since the user will need a .gdb-directory
anyway. Moved the ChangeLog into a file of the same name and reflowed it
so that it can be read without going bonkers.
Place all hooks in .gdbinit

Since hooks are general and there might be commands defined in multiple
modules that need to install something into the same hook they have been
moved to the .gdbinit-file instead.
Updated README

Updates the README to contain a list of contributors to gdbinit. Also
adds documentation on many of the commands that it defines.
Fixes issues in markdown
Hook setup-detect-target to the core-file command as well
Only print valid registers

Copy the solution used for mips to ensure that only registers that are valid
will be printed. I.e. if a register is set to "void" print zero instead of
bailing out.
Place commands into code blocks

The commands were a bit difficult to read, hopefully this will make the
documentation a little better.
Rename GDB command files to .gdb

Renames the GDB command files to separate them from the shell scripts
etc. Also, this makes it easier for the editor to figure out what
indentation, syntaxt highlighting etc to use.

Also renames the CPU-specific modules to cpu-<architecture>.gdb to make
it more obvious that they are submodules to cpu.gdb.
add some gdb macros from Apple

- the old `gdbinit-MacsBug-without-plugin` file that Apple ships with
their gdb
- the `kgmacros` that Apple ships with their kernel debug kit
Merge pull request #1 from cooljeanius/egall_additions

add some gdb macros from Apple
found some more .gdb files in Apple's version of gdb
Merge pull request #2 from cooljeanius/more_apple_macros

found some more .gdb files in Apple's version of gdb
Attempt to detect the correct processor type under Snow Leopard's gdb.

Unfortunately, gdb under Snow Leopard doesn't give a useful doublet.  So
let's go the extra step and grab the osabi and use it to determine what
processor we're using and the size.
Merge pull request #3 from jszakmeister/fix-detection-on-snow-leopard

Attempt to detect the correct processor type under Snow Leopard's gdb.
Do not show [code] if CONTEXTSIZE_CODE is set to 0.