Handle calltips of Python constructors like D constructors
There were two different ways of how __init__() (or this() in D)
constructor calltips were attached to classes so when typing 'MyClass('
the parameters from the constructor were taken:
1. For Python, the arglist of __init__() was attached to the class
and when invoking the class, the arglist was shown. The disadvantage
of this approach was that it allowed attaching arglist of only one
constructor but not multiple ones.
2. For D the query for the calltip was done at the runtime, searching
for the constructor inside the corresponding class, allowing multiple
constructor tooltips to be shown.
Since (2) allows multiple constructors, it is a better approach and can
be used for Python too. In addition, this patch creates full scope
of the searched constructor so it works also for deeply nested classes.