Bash QSUpdateController out of the main thread.

Since I'm currently accessing the 'ternet from my world-changing iPhone, I just noticed that the update system does its thing on the main thread. When there's a DNS hiccup at the same time, you end up with a spinning-beachball QS for *too long*.

This fixes it by generous use of dispatch queues. This also makes its API more self-contained.

Not completely tested, by which I mean I clicked on the "Check Now" button, but that's all I did.

As a bonus, every user-facing string is now wrapped in a gentle `NSLocalizedString`.
I think this needs to be `(retain)`. Otherwise, I get a crash in `checkForUpdates:` because it’s been released. (There’s also a warning that this will happen in `init` on the line where `_queue` is assigned a value.)