Function yaml::Scanner::setError() has a Position argument that is never used
and is supposed to provide better information about position of an error.
The change uses Position instead of Current source location.
Alternatively, the Position argument can be removed and the code would be
simplified. Unit tests don't care.
Is there any case where Position is not Current and that information is useful?