First, I'm a walker, not a runner. And I use my walking time to sort out a lot of things in my head, so I don't need the music. BUT ... I'm training for an ultra (50K) in Nov, and it does have an 8 hour cutoff, so I have to be able to maintain a certain pace. I like RunKeeper (I have Android, but it's also available for iPhone). I think it's better (for my purposes) than MapMyRun, which is also out there.
For Tabatas, I use "A HIIT Interval Timer" (I know - the name is redundant) - it's very flexible and has a tabata sequence already programmed.
Finally, for pacing/turnover practice, I have Mobile Metronome.
All free apps.