SplFileObject->seek() throws a LogicException on negative values

Split from  #3056