Add private class for EtagCache
Summary: With this all public types should now have d pointers.
Subscribers: kde-pim
Tags: KDE PIM
Differential Revision: https://phabricator.kde.org/D24266