EEPROM read/write library that performs automatic and configurable wear-leveling. Supports any size data type, including arrays or structs.