I'll second (or third) the idle control. Look in the technical manual for "Idle Air Control". This is mounted on the face of the throttle body, and attaches with a pair of torx screws, if I recall correctly.
I took mine out, cleaned the hell out of it with sensor-safe cleaning spray, then reinstalled it. It's been working like a champ every since!
Try simply disconnecting the battery for 30 minutes, to do a hard-reset on the engine computer.