Lifetime Parameter Variance

- Declare variance of lifetime parameters in structs
- Handle variance of lifetime parameters in subtyping
- Check struct declarations for coherent variance
nit: trailing newlines