PY-11317 Incorrect type detection for formatter string with java String ...

Improve skeleton generator to using predefined return type in the doc generator
via user  PREDEFINED_MOD_CLASS_SIGS map.

The main issue which is exists here related to that the str or unicode 
in \_\_mod\_\_ method don't have any return type in the doc string.

We have such things:
1. Add in the generator3 in PREDEFINED_MOD_CLASS_SIGS signature for 
str.\_\_mod\_\_ and unicode.\_\_mod\_\_ which will return correct type.
2. Described also in the doc string.

After applying 1 option I think that everything should work. But not =( 
It seems that doc string have more priority then returned type (?) =( 

Thus I also perform operation of adding additional description to the doc 
which describe return type in format which idea is parsing. 
Please note that such behavior performs only for 
PREDEFINED_MOD_CLASS_SIGS map

After regenerating the skeleton we have such picture:

```python
class unicode(basestring):

    def __mod__(self, y): # known case of __builtin__.unicode.__mod__
        """
        x.__mod__(y) <==> x%y
        
        :type: unicode
        """
        return u""
```

```python
class str(basestring):

    def __mod__(self, y): # known case of __builtin__.str.__mod__
        """
        x.__mod__(y) <==> x%y
        
        :type: str
        """
        return ""
```

And Idea detects correct type for formating string behavior.