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
One more flush missing, there should be an `$interval.flush(scope.interval);` here.