Introduce GET/SET_EBDA2() macros - they take a cached ebda seg.

For those places that repeatedly read/write to the ebda, caching the
    ebda segment improves code generation.
diff --git a/src/boot.c b/src/boot.c
index b8104a5..7b64e86 100644
--- a/src/boot.c
+++ b/src/boot.c
@@ -83,8 +83,6 @@
     if (! CONFIG_BOOT)
         BX_PANIC("Boot support not compiled in.\n");
 
-    SET_EBDA(boot_sequence, seq_nr);
-
     u32 bootdev = IPL.bootorder;
     bootdev >>= 4 * seq_nr;
     bootdev &= 0xf;
@@ -202,7 +200,9 @@
 {
     debug_serial_setup();
     debug_enter(NULL, DEBUG_HDL_18);
-    u16 seq = GET_EBDA(boot_sequence) + 1;
+    u16 ebda_seg = get_ebda_seg();
+    u16 seq = GET_EBDA2(ebda_seg, boot_sequence) + 1;
+    SET_EBDA2(ebda_seg, boot_sequence, seq);
     do_boot(seq);
 }
 
@@ -212,6 +212,7 @@
 {
     debug_serial_setup();
     debug_enter(NULL, DEBUG_HDL_19);
+    SET_EBDA(boot_sequence, 0);
     do_boot(0);
 }