Fix edge cases in CSS animations keyframe timing functions

This patch fixes the cases where we specify a timing function list or
inherit for a keyframe timing function. These were both broken by
crrev.com/265453005. The second case was broken prior to that patch and
would not correctly inherit the parent's timing function.

In the linked change, we changed from applying all animation properties
and reading out the timing-function value to simply converting the
individual timing-function value. This failed to handle some edge cases,
which we fix in this patch.

I've also re-added the defensive check in mapAnimationTimingFunction,
since we'll still end up getting in here with CSSValues that aren't
otherwise handled here, as described in the comment.

BUG=372820

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

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