This patch introduces a type to straighten LLVM's alignment management.
See this thread for context: http://lists.llvm.org/pipermail/llvm-dev/2019-July/133851.html
The next steps are:
- Use this type throughout LLVM
- Harden the type by setting ALIGN_HARDENED_ALIGNMENT to 1
I don't think the prior history is useful here.