bootutil: Fix issue with align > 1

Some flash devices not only require writes to occur on an `align` byte
boundary, but also require that the writes be done in chunks of this
size as well.  Enhance the sections that write status bytes to write
more than a single status byte.
diff --git a/boot/bootutil/src/bootutil_misc.c b/boot/bootutil/src/bootutil_misc.c
index 87895ba..2fe08e3 100644
--- a/boot/bootutil/src/bootutil_misc.c
+++ b/boot/bootutil/src/bootutil_misc.c
@@ -309,13 +309,17 @@
 boot_write_copy_done(const struct flash_area *fap)
 {
     uint32_t off;
-    uint8_t val;
     int rc;
+    uint8_t buf[8];
+    uint8_t align;
 
     off = boot_copy_done_off(fap);
 
-    val = 1;
-    rc = flash_area_write(fap, off, &val, 1);
+    align = hal_flash_align(fap->fa_device_id);
+    memset(buf, 0xFF, 8);
+    buf[0] = 1;
+
+    rc = flash_area_write(fap, off, buf, align);
     if (rc != 0) {
         return BOOT_EFLASH;
     }
@@ -327,13 +331,16 @@
 boot_write_image_ok(const struct flash_area *fap)
 {
     uint32_t off;
-    uint8_t val;
     int rc;
+    uint8_t buf[8];
+    uint8_t align;
 
     off = boot_image_ok_off(fap);
 
-    val = 1;
-    rc = flash_area_write(fap, off, &val, 1);
+    align = hal_flash_align(fap->fa_device_id);
+    memset(buf, 0xFF, 8);
+    buf[0] = 1;
+    rc = flash_area_write(fap, off, buf, align);
     if (rc != 0) {
         return BOOT_EFLASH;
     }
diff --git a/boot/bootutil/src/loader.c b/boot/bootutil/src/loader.c
index 20a34b8..3aadd82 100644
--- a/boot/bootutil/src/loader.c
+++ b/boot/bootutil/src/loader.c
@@ -462,6 +462,8 @@
     uint32_t off;
     int area_id;
     int rc;
+    uint8_t buf[8];
+    uint8_t align;
 
     if (bs->idx == 0) {
         /* Write to scratch. */
@@ -480,7 +482,12 @@
     off = boot_status_off(fap) +
           boot_status_internal_off(bs->idx, bs->state, boot_data.write_sz);
 
-    rc = flash_area_write(fap, off, &bs->state, 1);
+    align = hal_flash_align(fap->fa_device_id);
+    // ASSERT(align <= 8);
+    memset(buf, 0xFF, 8);
+    buf[0] = bs->state;
+
+    rc = flash_area_write(fap, off, buf, align);
     if (rc != 0) {
         rc = BOOT_EFLASH;
         goto done;