USA phone number
Offers cheap packages where you pay for 3, 6 or 12 months at once. After the package you pay more per month, but this is ideal for staying for three months. Coverage is not always as good as the expensive providers, but quite workable. You can get a phone number with 2GB of data for around 45 dollars for three months (November 2017).
Offers a usable package for around 30 dollars per month.
Haven’t tried this one, but they have cheaper packages. I use lycamobile in the Netherlands and up to now it has worked fine. Also see the page about phone numbers in Europe.
Prepaidzero offers sim cards with data (and calling) for 30 to 60 days. They will send you a UK sim card in the mail that has a data connection in the USA. The only down side is that you have a UK number and not a US number, which makes it harder for Americans to call you.