EEPROM parameter storage - mini object persistence library

Skimming this forum it looks like a lot of folks are trying to come up with ways of efficiently storing parameters - sometimes quite a few of them - in EEPROM.

We took a stab at solving this problem a while back for ArduPilot Mega, and developed a system that provides what is effectively persistence for small objects (up to 64 bytes). Some of the implementation is specific to our needs, but the general approach might be useful for other applications, so I thought I'd make a note of it here.

As an aside, it also features a mini-RTTI/metaclass implementation that may be useful on its own.

AP_Var is the variable persistence class, and AP_MetaClass is (surprise) the RTTI/metaclass code.

= Mike