LPS-46267 Add method getSetKeys() to Settings interface. This method will be needed to copy the values across different Settings objects.
LPS-46267 Add SettingsHelper object to be able to copy values from one Settings object to another. I also add InMemorySettings class which is useful for tests and may as well be used by production code.
LPS-46267 Add support for ArchivedSettings.
LPS-46267 getSetKeys should return a copy and not the map keyset reference so that the caller can iterate it and invoke reset or other map changing methods.

Additionally I removed the UnsupportedException from Store because for InMemory the store() method just needs to do nothing since the set already puts it in the final store (memory)
LPS-46267 Split the reset() and the setValues() method to make them more reusable. Previously it was also not obvious that setValues() was also "unsetting" any previous value.
LPS-46267 Optimize getPortletInstanceArchivedSettings()
LPS-46267 Move portal-settings-* back to core
LPS-46267 Move portal-settings-* back to core
LPS-46730 make sure plugin.full.version is read