[ARM] Support for bootloader provided DTB files

To achieve linux-compatible dtb-based boot-flow, we verify and preserve
the dtb file provided by the bootloader. This is done by overwriting the
builtin dtb post basic sanity checks on the possible dtb pointer in r2.

In arm32ve fastmodel boot-code we do not pass any external dtb, so we
ensure that the GPRs r0-r2 reflect the same.

Signed-off-by: Sukanto Ghosh <sukantoghosh@gmail.com>