fall back to full-binary update if diff update fails

Previously, this only fell back to a full update if there was a problem downloading the diff update. Now, if the SHA that results from applying the diff isn't correct, it will also fall back to a full binary update.