avr/settings: More documentation, bug fixes, refactoring.
Added fake eeprom device to native target.
core/lib/settings: Generalized settings to work on any target that supports the EEPROM interface.