rework updater to use github tarballs; add some additional logging and
prevent old directory being renamed pointlessly in a few cases
(closes #559)