reset command
prints version annotation on startup. This is not implemented as a regular annotation since we always want this to be present. (Annotations can be compile-time excluded to save space since they are mostly optional.)
root container now created when profile is activated.  this means there is no root when there is no profile.
moved object construction and iteration from Commands.cpp to SystemProfile.cpp
made object rehydration failure code negative (error codes are negative)
new commands: activate profile, free slot root, list profiles
added explicit flush in comms so that python pipes work as expected. (without flush, the data is buffered when using the cross-compile.)
reworked order of initializing eeprom entries in system profile so that initialization is only recognized after the last write - ensures power failure during initialization doesn't create a corrupt eeprom state
profile not created by default now