Revert of Revert of Web Animations: Replace hasIterationDuration with a NaN duration value (https://codereview.chromium.org/144233009/)

Reason for revert:
Tim's original patch (https://src.chromium.org/viewvc/blink?view=rev&revision=166567) did not cause the timeouts we thought it did. I am relanding the patch that was incorrectly reverted.

Original issue's description:
> Revert of Web Animations: Replace hasIterationDuration with a NaN duration value (https://codereview.chromium.org/154333003/)
> 
> Reason for revert:
> Several virtual/threaded/transitions just started timing out and I suspect this patch may be the cause. A sample is below:
> http://test-results.appspot.com/dashboards/flakiness_dashboard.html#tests=virtual%2Fthreaded%2Ftransitions%2Ftransition-end-event-rendering.html
> 
> Original issue's description:
> > Web Animations: Replace hasIterationDuration with a NaN duration value
> > 
> > Minor clean-up to the code; e.g. this makes writing tests a bit simpler.
> > 
> > BUG=335350
> > 
> > Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=166567
> 
> TBR=dstockwell@chromium.org,timloh@chromium.org
> NOTREECHECKS=true
> NOTRY=true
> BUG=335350
> 
> Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=166575

TBR=dstockwell@chromium.org,timloh@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=335350

Review URL: https://codereview.chromium.org/142383004

git-svn-id: svn://svn.chromium.org/blink/trunk@166579 bbb929c8-8fbe-4397-9dbb-9b2b20218538