Using `this` for restricted references

This PR changes the behaviour of `this` in templates. `{{this}}` translates to `{{.}}`, as before, but `{{this.foo}}` now means the same as `{{.foo}}` - in other words, it restricts the search for `foo` to the current context.

While I was at it, I added support for `{{./foo}}` notation. This means the same as `{{.foo}}`, but better matches the filesystem metaphor used for *ancestor references* (i.e. `{{../foo}}`), so may suit some developers' tastes better.