Iphone 5, which carrier with?

I live in London and my blackberry contract with vodafone is coming to an end. I have already decided that I'm going to buy an unlocked iPhone 5 and then buy a pay monthly sim card (30 day rolling contract/12months) However I'm indecisive of which carrier to use. Vodafone for me is out of the question as
a) it is ridiculously overpriced
b) i have had problems with them overcharging me in the past, claiming I did 200 texts in 1 day!
c) i use it also in my school and there's rubbish coverage around there and also the rest of edgware!
I'm currently stuck between 4 carriers. Giffgaff, T-Mobile, Virgin Mobile and Three.
I'm looking for quite a lot of data in my plan and it should preferably have unlimited data and quite a lot of texts. For those reasons I'm leaning towards giffgaff and 3 as they have the best deals for internet usage. However I'm not sure how reliable these 2 companies are and if they have high data speeds considering I would use it mainly in London. Please tell me any personal experience you may have or know about including how reliable the company is, their coverage speeds around London (indoors mostly as well as outdoors) and also which have the best deals.

Look up your IMEI number for carrier for free at: http://www.iphonefort-mobile.com/.