Take existing bitfields in DISubprogram and formalize them
into a flags word analogous to DINode::DIFlags, except these
flags are all specific to subprograms.
This patch does NOT change bitcode or IR formats; that will
be in a follow-up (this one is big enough already).
My goal is to have a better place to add new subprogram-specific
flags such as the ones in D54043. We could also consider moving
some subprogram-specific flags from DIFlags to DISPFlags.
Note that I have NOT YET run clang-format, as I think the diff is
easier to read in its current state. i will definitely run it before
committing.