Further cleanup of SourceLocation primitives
Moved stuff for fixing duplicate "/" in path to pdb.values
Added getParent for source locations. Included fix for problems with
path in windows.
Made a fix for parent on windows file paths

After an discussion with @jurgenvinju and @ashimshahi
Merge branch 'master' of git@github.com:cwi-swat/rascal.git
Attempt to optimize the compiler's visit implementation.
Added yet another visit test.
Merge branch 'master' of https://github.com/cwi-swat/rascal.git
Experiments with 'visit' benchmarking.
Merge branches 'master' and 'new-coroutine-design' of https://github.com/cwi-swat/rascal into new-coroutine-design
Added 'terminate' expr to the muRascal and TERMINATE instruction to the
RVM.
Added TERMINATE instruction to the RVM interpreter.
Resolved an ambiguity.
Started modifying the 'yield' semantics.
New semantics of the 'yield'.
Started adding 'guard' expression to the muRascal.
Change the check for authority with hasAuthority instead of catching an
exception. Thanks @DavyLandman.
Modified the semantics of the muRascal 'terminate' (for now, let it
play a role of a failure).
Working on the 'return' semantics specific to coroutines.
Made a distinction between function and coroutine declarations in the
muRascal and RVM.