Fix compile issue with older go versions
Don't purge local revisions just because they are behind 'previous'

Got a little too agressive with firstRev check. Also, resolve an issue
where if all the remote revisions were removed, we wouldn't do anything.