Consolidate all ID/path handling in `lookupPath`

`lookupPath` is now a hook to handle paths in the compiler.

When `stringParams` is set, `lookupPath` is skipped and the helpers are
given the path parameters and hash values to resolve.
Pass escape down to non-block helpers