Implement basic archiving for BLayout and BLayoutItem classes.
|Reported by:||yourpalal||Owned by:||pulkomandy|
To beat ticket #5525, we must have a method for archiving a layout hierarchy alongside a BView hierarchy. To do this, both BLayout and BLayoutItem must inherit from BArchivable. In addition to this, I've added two new methods to BLayout: ArchiveLayoutData() and RestoreItemAndData(), the first is called during archiving to allow a BLayout to add any extra data for an item into its archive (the data stored in BLayoutItem::fLayoutData, for instance). BLayout::RestoreItemAndData() is called in BLayoutItem::AllUnarchived(), and implementations of this method will add the item in question to the layout, using the data that was stored in ArchiveLayoutData().