Add lint for unused lifetimes

A step towards  #12805.

 This could be extended to warn for things like this as well (either in this or in another PR):
```
struct Foo<'a> {
    a: int
}
```
I thought it needed to match the signature in `Visitor`. But this obviously isn't needed since I have `_: ()` instead of `_e: Env` right next to it... I'll change it.