Improved masterlist update handling.

If the local repo was already at the latest masterlist, parsing gets
skipped (nb. update needs UI feedback). If a fast-forward update isn't
possible, the repo is deleted and re-cloned. Closes #240, #241.