firmware-test: Also test random timings

In addition to testing min, typical and max timings, also test a random
set of timings within the limits. This might uncover some race condition
for a particular timing, or a bug with a combination of long and short
timings.

In addition, also explicitely print all timing values used.
firmware-test: Improve debug output
firmware-test: Add read and write eeprom tests
Change the reserved address from 0x0 to 0xff

This makes it easier to have an array of known backpacks, where the
index is just the address instead of having to do off-by-one correction
all the time.