Add TLV based EEPROM encode/decode functionality

Reviewed By: scotte

Adds the CONFIG_CMD_SYS_EEPROM feature.  This feature provides a TLV
based EEPROM format and a command, sys_eeprom, for printing and
setting the TLV contents.

uboot-> sys_eeprom help
sys_eeprom - Display and program the system EEPROM data block.

Usage:
sys_eeprom [read|write|set|erase|list] [<type_code> <string_value>]
sys_eeprom
    - With no arguments display the current contents.
sys_eeprom read
    - Read EEPROM data from device and show content.
sys_eeprom write
    - Write the EEPROM data to persistent storage.
sys_eeprom set <type_code> <string_value>
    - Set a field to a value.
    - If no string_value, field is deleted.
    - Use 'sys_eeprom write' to make changes permanent.
sys_eeprom erase
    - Reset the in memory EEPROM data.
    - Use 'sys_eeprom write' to make changes permanent.
sys_eeprom list
    - List the understood TLV codes and names.