otherVersion is an integer representing the version of the SFTP protocol
they are claiming. extData is a dictionary of extended_name : extended_data
items. These items are sent by the client to indicate additional
features.

This method should return a dictionary of extended_name : extended_data
items. These items are the additional features (if any) supported by the
server.

an integer of the flags to open the file with, ORed together. The flags
and their values are listed at the bottom of this file.

attrs

a list of attributes to open the file with. It is a dictionary,
consisting of 0 or more keys. The possible keys are:

size: the size of the file in bytes
uid: the user ID of the file as an integer
gid: the group ID of the file as an integer
permissions: the permissions of the file with as an integer.
the bit representation of this field is defined by POSIX.
atime: the access time of the file as seconds since the epoch.
mtime: the modification time of the file as seconds since the epoch.
ext_*: extended attributes. The server is not required to
understand this, but it may.

NOTE: there is no way to indicate text or binary files. it is up to the
SFTP client to deal with this.

This method returns an object that meets the ISFTPFile interface.
Alternatively, it can return a Deferred that will be called
back with the object.