Add support for `if let`

Continuation of https://github.com/rust-lang/rust/pull/16741.