Fix client-server desync when a player hits an entity while sprinting

This fixes the server trying to stop the player's sprint when they attack something, since the client silently ignores this if the sprint key is held down, causing the server to think that the client isn't sprinting when they actually are. A symptom of this bug was that extra knockback from sprinting was only applied on the first hit, until the player re-engaged their sprint. With the fix alone, a player could get the extra KB continuously just by holding down the sprint key. To compensate for this, a one second cooldown is added for sprint KB, which is not affected by re-engaging the sprint.