arm: make reserving the gd register a make variable

Currently all arm targets spell out that r8 needs to be a reserved
register, while using a common crt0.s. Move this to a common make
variable so it is not repeated (and can be easily changed)
arm, relocate: do not use r9

r9 is a platform specific regsiter on arm and not a general
purpose register. Do not use it while relocating so it can be
used for gd.
arm: use r9 for gd

To be more eabi compliant and as a preparation for building
with clang, use the platform-specific r9 register for gd
instead of r8.

note: The FIQ is not updated since it is not used in u-boot,
and under discussion for the time being.