Make VCS data container classes implicitly shared
Summary:
Also
- rely on default implementation of copy constructor to copy all data on forking the internal data objects
- mark as movable types for improved handling in Qt containers
Object of these classes are created in one place and then passed around
for read-only consumption. They are passed by value in method return
arguments and stored by value. As the classes already have a private
object for pimpl, making this an implicitly shared one is a small step.
Reviewers: KDevelop, apol, mwolff
Reviewed By: KDevelop, apol, mwolff
Subscribers: apol, mwolff, brauch, kdevelop-devel
Differential Revision: https://phabricator.kde.org/D8588