completion for call chain

I tried an implementation without changing `GetClassContents()`. Right now the not so nicely named method `GetReturnValue()` does the job for recursivley get the classname and namespace for a chained method call. I had to change `GetCurrentNamespace` a litte bit for an edge case. Also I created an variation of GetClassContents (GetClassContentsStructured) to get content, namespace and imports for the class and all parent classes as a dictionary. I created tests for the whole feature and implemented a naive caching for taglists, which really improved the performance when resolving deep method chains like `$this->getDoctrine()->getEntityManager()->createSQLBuilder()`