bug fix:  improper I2C bank address and page boundary handling
  - wasn't writing to second bank of 1M I2C (fixed)
  - writing more than one byte at a time to the external EEPROM
    might traverse a page boundary which would wrap.  All writes,
    except for header/memory pointer writes, do a byte at a time
added more verbose documentation