Do not leak symbols of pimpl classes, protect with Q_DECL_HIDDEN

Authored by kossebau on Aug 15 2017, 1:25 AM.

Description

Do not leak symbols of pimpl classes, protect with Q_DECL_HIDDEN

Nested classes inherit the visibility of their outer class,
so all the KClass::Private symbols have also been exported
if the ones of KClass were.

Best fix would be to change all pimpl classes to be non-nested,
but that needs a bigger patch as some nested classes directly
access types and properties of their outer classes.
Left to do for the future :)

Differential Revision: https://phabricator.kde.org/D7281