User a property for `data` in QSPlugin
Add a new and improved plugin updater
Only implement the QSPluginUpdater class(es) in one binary
Plugin Updater eye candy

Plus - pass the whole QSPlugin to the updater (in an NSDict) to simplify the setup process of the window
add a titlebar to the plugin updater
have more fine grained control over plugin update status
always do expensive icon loading on a background thread
consolidate `setIcon` and `updateIcon`

The previous commit starts icon loading on another thread, but for the
UI to know when the icon is ready, every instance of
`loadIconForObject` would have to be modified to call `updateIcon`.
Almost all of them currently call `setIcon`. This should allow
`setIcon` to correctly handle updated icons, but without sending a
notification every time it's called.
don't spawn another thread for web search icons

loadIconForObject is already on a background thread
remove the `previewIcon` method

For file objects, `loadIconForObject` was doing two things: loading a
more generic icon that can be gotten to quickly, then calling
`previewIcon` to handle the more expensive preview generation in the
background. The first task is the job of `setQuickIconForObject`, so
that code has been relocated to that method. The expensive preview
generation was moved from `previewIcon` to `loadIconForObject`, since
it always runs on a background thread now.
post the notification *after* an icon is changed
don't bother logging for updateIcon

It was used in very few places.
fix a crash allocing a nil string
icon and name are stored in meta not data
fall back to an "Unknown" string if nothing can be found to avoid a crash
add retina icons
replace NSMakeSize() with pre-defined QSSizes
replace hard-coded sizes with QSMaxIconSize

…in places where it makes sense to do so.
allow for 256x256 icon representations
get the max icon size from the active interface

fixes #1044

Previously, it would stay at the default 128x128 unless you manually
changed the interface after every launch.