Lifetime Parameter Variance

- Declare variance of lifetime parameters in structs
- Handle variance of lifetime parameters in subtyping
- Check struct declarations for coherent variance
this looks reasonable but the name `subtype-variance` took me a while to figure out. Maybe just `sublifetime`? `sublifetime-variance`?