Bug 831701 - Finish active updates unless the user swtiches to a newer one. Remove stale updates. r=rstrong, a=tef+

Once the user starts to download an update, stick to that update until the user cancels the download and does a "Check Now".

If a newer update is started and a stale update is detected, remove the stale update.

If a download fails due an update being in the applied state, prompt the user to apply it.

If an update was fully downloaded, but interrupted during verification, then don't redownload.
Bug 831701 - Missing a change that was supposed to be in the previous patch. r=me, a=tef+