Add intrinsics and SDNodes for umin, umax, smin and smax.
This adds new intrinsics for signed/unsigned min/max. The intention is that
these intrinsics will be matched late in CGP (in a followup patch).
This patch adds the nodes, as well as legalization support and sets them to
be "expand" for all targets.
Sanity of generated code is tested on AArch64.
Is there are way to distinguish between user and compiler generated intrinsic? And assert on user?