Merge pull request #6 from mvassilev/master

Implement visitor deriving callee functions in advance. If the SubExpr is changed then the ImplicitCast is invalid. Create more tests.
Remove recursive calls to Derive.