Pass context to lambdas

Now lambda functions will receive a second parameter which is the template data within the context in which the lambda was called (this works within loops too) including top-level stuff that would be in res.locals for example. You shouldn't normally need this, but there are a few use cases for having access to that data.