Clarification that after using sleep(), wake() must be the first function used to communicate with the flash chip.
If this isn't the case, a noisy MISO line can cause the code to hang in the while(busy) loop in the command() function.
This is a "fix" for "gitHub bug #26".
Original version was constrained by Flash 256 byte page limits. This
change allows up to 64K writes and also deals with blocks that cross
pages (even if 2 bytes starting at address = 0xyyFF.
When FLASH chip is not present and MISO is in high impedance, other SPI
devices might pull MISO high and the while(busy) loop might never return
because of a false positive busy (actually MISO would return 0XFF for
status register including the BUSY bit)