save: compare using model, but not serialized content

1) Get rid of "get all storages data" just to reload/save/etc — now we are more smart and don't disturb the whole world
2) Sanitize — only storage data are responsible for data "change" state — storage don't hold/maintain own hash
3) Don't use xml prolog to save app files (historically, ROOT_CONFIG also don't use xml prolog). Project files are not affected (backward compatibility).
4) Fix project reloading (especially in case of stream provider) — ensure that new state (from FS) will not be overwritten.