Russia vows revenge after Ukraine kills top general in Moscow