Just following up, I finally fixed it. I ordered a used throttle body off ebay with iacv, tps, and map sensor all included. I just swapped the whole throttle body and now the car is working. I suspect that iacv was not working because before I swapped it I placed my finger over the air passage in the throttle body that iacv connects to, and the car idled fine. It was definitely not the map sensor because I checked it with a scanner and the readings were in spec.