This patch adds a target hook to control the lowering of switch instructions in our default switch lowering pass.
The assumption is that there are certain kinds of switch instructions that can more efficiently lowered by the target because of how the targets handles control-flow.
Certain GPUs for example could lower switch more efficiently in certain cases than using a tree of conditions.