Add initial support for Cavium Thunder PCIe root complex.

	- Parse Device Tree to get mem ranges.
	- Add API to read/write to PCIe configuration space.
	- Device mem mapping and BAR initialization incomplete.
	- MSI-X interrupt handling incomplete.
Add CPU part name for Cavium Thunder

Name selected according to DTS description for "cpu" node.
Improve ARM64 CPU identification.

- Keep CPU description per-CPU (indexed by cpuid)
- Rework Implementer/PartNum relation
  - need to have separate PartNum tables for each implementer
Add EARLY_UART_PA/VA to ARM/ARM64 options

This options are supposed to be used as a replacement for hard-coded
values of EARLY_PRINTF UART addresses. It is assumed that UART's
PA and VA may differ.
Add support for EARLY_PRINTF to PL011 UART

Adds early_putc routine for the driver. Requires EARLY_PRINTF and
EARLY_UART_VA defined and set to a reasonable value.
Appropriate mapping VA->PA ought to be created during early init stage
as well.
Use EARLY_PRINTF in a more generic way on ARM64

From now when EARLY_PRINTF option is defined,
the PA->VA mapping is created in locore.S for a 1GB
block containing UART registers. The addresses are taken from
EARLY_UART_PA/VA options, therefore they have to be defined and
specified to a correct value.
PL011-specific early_putc routine has been removed from
machdep.c since there is a dedicated one in PL011 driver.
Fix some obvious mistakes in ARM PL011 UART

- Don't forget uart_barrier() on write.
- After disabling UART, wait for transmission to finish before
  changing control and line. Timeout and fail if something's wrong
  with the hardware.
- Check for break and overrun only on RX.
- Change masking of TXEMPTY interrupt to clearing it as this was
  the original intention.
Import setjmp and longjmp from libc implementation.

This is needed for DDB support. Sice we don't have
real assembly support.S file keep original .c one and add
temporary support_asm.S
Skeleton implementation of ddb arch specific calls.
Plug in ddb i/f into the exception framework handling.
Added support for breakpoints to ARM64
Support for ARM64's DDB read/write command, omit cache maintenance for now
Support for printing backtrace in DDB on ARM64.