Make field-offsets use a prefix-sum. It should be correct now.
subst-rv, subst-st, subst-bk. partial work on fresh lifetimes for block
activation.
Lifetime substitution is now noncapturing.
Currently gives up when capturing could occur instead of auto
α-converting. Breaks several tests that assumed lifetime names
are not replaced when a block is activated.
subst-ℓ should change nothing when the lifetime has no substitution.
Capture avoiding lifetime substitution for blocks.
Consolidate capture-avoiding substitution for blocks.
Deterministic fresh lifetime generation for block activation.
Deterministic fresh lifetime generation for function calls.
Substitute actual lifetimes for formal lifetimes in function calls.
Deterministic fresh lifetime generation for match.
Merge branch 'fix-block-fresh-lifetimes'
Merge branch 'fix-field-offsets'
Checking if a type is bound by a lifetime.

i.e. the lifetime of the type is not shorter than the provided
lifetime.
Merge branch 'fix-ty-bound-by-lifetime'