Only allow `this` or `..` to lead a path

Hi,

This commit just tightens the use of `this` or `..` in paths. Paths like `outer/../key` will raise an exception when compiling.