I know I am a little late to the party, but I have seen the idle air control valve cause the problems you are having. It bolts to the back of the throttle body. Take it loose and clean it. If that does not fix it, it is worth taking a shot at replacing it.
https://www.google.com/search?q=wha...699j0j7&sourceid=chrome&ie=UTF-8