Syrian opposition fighters have pushed government forces out of Aleppo and taken control of the city.