Replace boot flow code with main tree drivers

The projects/ folder contained code which would override plat_*
functions to match the boot flow of a given target platform. At the
moment, this comes down to two different flows: Linux-like (FDT in first
kernel arg; QEMU, FVP, RPi) and Android-like (FDT compiled into
Hafnium). Get rid of the weak symbols and replace this with two
"drivers" and a `boot_flow` config in the board spec.

Bug: 117551352
Change-Id: I26176a4999a5c598eae9e542d635393ed5b0b840
diff --git a/BUILD.gn b/BUILD.gn
index 9b9128c..81914bf 100644
--- a/BUILD.gn
+++ b/BUILD.gn
@@ -53,6 +53,7 @@
 aarch64_toolchains("aem_v8a_fvp") {
   cpu = "cortex-a57"
   origin_address = "0x80000000"
+  boot_flow = "//src/boot_flow:linux"
   console = "//src/arch/aarch64/pl011"
   gic_version = 3
   gicd_base_address = "0x2f000000"
@@ -68,6 +69,7 @@
 aarch64_toolchains("qemu_aarch64") {
   cpu = "cortex-a57"
   origin_address = "0x40001000"
+  boot_flow = "//src/boot_flow:linux"
   console = "//src/arch/aarch64/pl011"
   gic_version = 3
   gicd_base_address = "0x08000000"
@@ -83,6 +85,7 @@
 aarch64_toolchains("hikey") {
   cpu = "cortex-a53"
   origin_address = "0x35000000"
+  boot_flow = "//src/boot_flow:android"
   console = "//src/arch/aarch64/pl011"
   gic_version = 2
   heap_pages = 60