completion support for nested method calls on "$this" / fixed accuracy of class-resolving

In a class it is now possible to have code completion for nested method
calls.

For instance in symfony controller you can now do something like this:

$this->getDoctrine()->getEntityManager()->getConnection()->…

while getting matching completion suggestions after each "->"

The deeper the nesting is, the more the performance decreases.
Merge branch 'master' into pr28_completion_for_call_chain
Added test runner script. Prepared implementation of call chain completion.
resolving nested return values on $this->
Merge branch 'master' into pr28_completion_for_call_chain
tests, code cleanup, taglist caching
Merge pull request #30 from rgroli/pr28_completion_for_call_chain

merge #30
Add documentation for g:phpcomplete_cache_taglists

Also some trailing whitespace cleanup
Method names can have numbers too

\a is not matching [0-9] only 	[A-Za-z]
Improve phpcomplete#GetClassContentsStructured

Implemented cache invalidation
Changed the return format to a list
Make class content cache's validation check more robust

For cached responses that contain data from multiple files, the code could
return outdated results if some of the base class's file have been modified
since.
Also implemented the sweeping of the cache store when cache miss occurs.
Make GetClassContents() implementation use GetCachedClassContents()

This removes duplicated class content fetching code and makes these lookups
cached.
Tests updated to new parameters.
Remove unused imports argument from getclasscontent functions
Merge branch 'pr28_completion_for_call_chain'

Fixes: #28
This branch hasthe original code and more for this feature
Make completion pick up new|extends contexts

scontext gets trimmed in `phpcomplete#GetSubContext` so this pattern
must not look for whitespace at the end of it
Make GetCurrentInstruction() more robust

Collecting should break if theres a delimiter '}' found, things like
classes, functions, loops, conditionals has such closing '}'
Rename GetReturnValue and GetClassContentsStructured functions
Added testcase for #545913
Make more use of call chain return type resolve function

Added GetCallChainReturnType() to every bracnh of GetClassName() so any
place where the original variable's return type can be determined will try
to resolve the call chain's last retutn type.
Generalize GetCallChainReturnType to work with properties too

This should make the scenario in the title of #18 work