libflashprog: Allow to query bus types, voltage, and test status

This is mostly an export of the long stable internal structures. We do
some renames, though,  and provide the voltage range as floating point
numbers. While we are at it, also rename:
* flashprog_test_status.wp      => .block_protection,
* BUS_PROG                      => BUS_OPAQUE,
* BUS_NONSPI                    => BUS_PRESPI.
The last one is a pseudonym for the older, memory-mapped buses, and
doesn't include BUS_OPAQUE.

Also try to name the captured test state consistently, either `tested`
or `status`.

Change-Id: Ibefb923fa5f566daa804651aa1a9bfe5602ca364
Signed-off-by: Nico Huber <nico.h@gmx.de>
Reviewed-on: https://review.sourcearcade.org/c/flashprog/+/482
diff --git a/rayer_spi.c b/rayer_spi.c
index 30577ac..718c53d 100644
--- a/rayer_spi.c
+++ b/rayer_spi.c
@@ -38,7 +38,7 @@
 
 struct rayer_programmer {
 	const char *type;
-	const enum test_state status;
+	const enum flashprog_test_state status;
 	const char *description;
 	const void *dev_data;
 };