Private method.
Property-fy `children`.

This one adds a bunch of warnings, which I plan to fix.
Correct the prune mechanism.

This fixes a bug introduced in the previous commit that caused all preset entries to disappear. This makes the prune loop cleaner by :
- testing for entries being presets or not (the previous test depended on the ordering of presets relative to custom entries, which the previous commit changed).
- not making a copy at all.
Make QSCatalogEntry info dictionary private.

Also updates accesses to keyed-subscript + document the keys in the `_Private` file.
Fix QSTriggerCenter now that the declaration for `info` it was using disappeared.

Also giggle the code around so it's easier to understand.
Make icon property `readwrite` so that the pref pane can set it.

I've put a warning in because I want to check that it works, but it never would have worked in the first place (the pref pane was placing image data in the info dict, which QSCatalogEntry was parsing as an image name). We're lucky that nobody ever tried to customize their catalog entries icons ;).
We need to include that one because those access `info` directly.
Add a convenience method for object source settings, and use it instead of going though `info`.
Build the complete dictionary before creating a new entry from it.
Log the exception too, that's useful.