Hide our ivar in a class extension.
No need for that in the public API.
Use a property for `isScanning`.
Cruft cleanup.
Property-fy `isSuppressed`.
Property-fy `isPreset`.
Property-fy `isSeparator`.
Property-fy `isGroup`.

Also remove the direct accesses to the `info` ivar.
Property-fy `isEditable`.
Property-fy `isEnabled`.
Property-fy `name`.
Property-fy `icon`.
Property-fy `contents`.
Property-fy `canBeIndexed`.
Use `instancetype`.
Property-fy `identifier`.
Property-fy `source`.
Move some selectors to the QSObjectSource protocol.
Property-fy `indexDate`.
Private method.