Fix for peers being prematurely timed out

1e0b3e28f5 went some way towards fixing this, but `lastAction` for a peer was only being updated if the peer state (seeder/leecher) had also changed since the last announce request.