part: Add a function to find the first bootable partition

If a disk has a bootable partition we are expected to use it to locate the
boot files. Add a function to find it.

To test this, update mmc1 to have two paritions, fixing up other tests
accordingly.

Signed-off-by: Simon Glass <sjg@chromium.org>
diff --git a/test/boot/bootflow.c b/test/boot/bootflow.c
index 1297600..38ffe8f 100644
--- a/test/boot/bootflow.c
+++ b/test/boot/bootflow.c
@@ -315,15 +315,15 @@
 	ut_asserteq(BOOTFLOWST_FS, bflow.state);
 	bootflow_free(&bflow);
 
-	/* Then more to partition 2 which doesn't exist */
-	ut_asserteq(-ENOENT, bootflow_scan_next(&iter, &bflow));
+	/* Then more to partition 2 which exists but is not bootable */
+	ut_asserteq(-EPERM, bootflow_scan_next(&iter, &bflow));
 	ut_asserteq(2, iter.num_methods);
 	ut_asserteq(0, iter.cur_method);
 	ut_asserteq(2, iter.part);
 	ut_asserteq(0x1e, iter.max_part);
 	ut_asserteq_str("syslinux", iter.method->name);
 	ut_asserteq(0, bflow.err);
-	ut_asserteq(BOOTFLOWST_MEDIA, bflow.state);
+	ut_asserteq(BOOTFLOWST_PART, bflow.state);
 	bootflow_free(&bflow);
 
 	bootflow_iter_uninit(&iter);