Two militants, soldier killed in Kashmir gunfight