verify_file() deals with signed data inconsistently

`verify_file()` docstring says its first argument should be a file descriptor, but also says it will be checked to be the name of a file by `_utils._is_file()`. It also first treats `file` as if it's a descriptor, but will try to open it as if it were a file name in case there's a detached sig.

If I understand correctly, you either want the argument to always be a file descriptor or you want to describe the cases in which it will be treated differently in the docstring.

These changes makes the treating of the `file` parameter to be uniformly treated as a file decriptor (or file-like object).