Return signature and docstring for current cursor call context

        Some examples of call context::

           func(|
           func(arg|
           func(arg,|

           func(arg, func2(|    # call context is func2

        Signature and docstring can be None

        :param project_path: absolute project path
        :param source: unicode or byte string code source
        :param position: character or byte cursor position
        :param filename: absolute path of file with source code
        :returns: tuple (signarure, docstring)

def get_docstring(self, project_path, source, position, filename):
        """Return signature and docstring for current cursor call context

        Some examples of call context::

           func(|
           func(arg|
           func(arg,|

           func(arg, func2(|    # call context is func2

        Signature and docstring can be None

        :param project_path: absolute project path
        :param source: unicode or byte string code source
        :param position: character or byte cursor position
        :param filename: absolute path of file with source code
        :returns: tuple (signarure, docstring)
        """
        return self._call('get_docstring', project_path, source, position, filename)