Pakistani troops have killed 50 militants to seize control of a town in Buner — a region near Islamabad which was earlier captured by the Taliban.