Compare masterlist repo HEAD and file during update.

Fixes #357. If there's no difference between HEAD, the remote head and
the masterlist file, update exits without parsing the masterlist
unnecessarily.