Fix interfaces not available in function argument type hint completions

Example:

    function name(| <= interface type hints should be available here
Refine interface and class type hint scopes; Also see issue's #3 and #4
Exception type hints should be available in phpdoc
Exception type hints should be available on inheritance

Example:

    class MyCustomException extends |
Tidy exception type hint scope
Limit functions scope
Limit language construct scope
Limit deprecated function scope