Test type-resolver created from resolvecontext with:
- File containing single namespace and no block
- File containing one namespace with a block ('{}')
- File containing multiple namespaces with blocks
Patch `phpinspect--make-type-resolver-for-resolvecontext' to support namespaces with
blocks.
The resolvecontext will from now on be used as store for all data required to resolve the
return type of a statement at any given point.
`phpinspect--word-end-regex` has been altered to match words that are directly followed by
other, "non-word" characters.
`phpinspect-describe-handler` has been added to list and describe handlers during runtime.
A bug has been fixed that made the parser interpret the "static" keyword inside functions
as a class attribute in stead of just a word.
Aside from the company backend, `phpinspect-eldoc-function` has been simplified and
adapted to make use of the resolvecontext structure.
The resolving of statment/variable types has been altered to make use of imperative loops
in a couple of places for the sake of simplicity and optimization.
This commit contains one logic change: Changed add-to-list usage to cl-pushnew in
phpinspect-merge-indexes implementation for classes. The resulting function output should
be the same.