* readout unprotect is not done unless explicitly enabled
New command line option "-u" must be supplied or the readout unprotect
will not be done on erase failure. If the erase fails and readout
unprotect is not enabled (i.e. -u was not supplied) then the program
just terminates with an error (nonzero) exit status.
The intent is for the caller to be able to do a few retries to see if
the erase failure is transient, then do an update with readout unprotect
enabled as a last resort.
* explicit logging in case of initChip error
Also test code to simulate initChip error.