fix(carousel): replaced $timeout with $interval when it was wrong

I had a to tweak a bit two tests since $interval never throws an exception after flushing, hope I did it OK. 

This addresses #2454
I think this should do `spyOn(...).andCallThrough()`, otherwise, `cancel` isn't actually called.