Make subcontext extraction stop at parents

Fixes #32
Make test runner script accept test filenames to run
Make GetCallChainReturnType more robust and work with built-in methods too

Added a return value that represent failed resolve, previously
if the resolve failed it would return the "last known value".
Also made the call site add an extra '' to the end so both
"$some->" and "$some->leading_chars" case can be handled the same.
Fix regressions introduced in 0bf220f9d350ba72e84c2d61c3dd48b452c513cb

The fix for #32 was handling the problem on a wrong level.
The one line conditional + instruction lines should be broken apart in
GetCurrentInstruction()