Split KSharedDataCache file into multiple files
Currently KSharedDataCache
file is pretty big so split it into multiple files for easier maintainability.
This MR contains 3 commits taken out of !272 (closed).
It was only rebased and code is just moved around without changing any logic so there shouldn't be any changes in behavior.