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.
`match` will re-assign the `@actual_not_enumerable` each time is called.

Would you prefer that `failure_message` also do the enumerable check?

I think I may be misunderstanding what you’re suggesting