ENH: Start adding logic to check for updates

Add logic to issue server API calls to check for updates to extensions,
and to manage the same. This is still missing anything to actually
download or apply said updates.

Issue #2089
ENH: Download updates

Refactor update download logic, introducing a new 'task' class to
manager downloads, rather than trying everything through the network
manager's signals. Also, move the code to start such a task to a helper
function. Leverage these to hook up downloading of updates, now that
tasks can have different completion handlers assigned. Write update
archive file and scheduling information on update download completion.

Issue #2089
ENH: Improve extension manager info icons

Tweak the information icons used in the extension manager to have whiter
glyphs, and a less muddy glyph for the 'i' (update available) icon.
ENH: Hook up UI for updating extensions

Hook up update availability and download progress reporting in extension
model. Add UI to extension manager to report update availability and
allow requesting updates and canceling such requests. This brings update
management almost to full functionality, missing only to actually
install the update on restart.

Issue #2089