Implement `if let`

Implement the new desugaring `if let` syntax.

Fixes #16779.
I'll replace it with 'syntax', so it says ``"`if let` syntax is experimental"``.