Fix all matcher exception when actual not enumerable

When the action value of passed to the `all` matcher is not enumerable,
rather than failing to match and returning an error it raises an
exception. This commit ensures that `actual` is enumerable before
proceeding with matching.
I think I'd rather see `Enumerable === actual` checked each time this value is needed, rather than memoizing it.