Some minor restructuring around LValue and RValue types. The value "kind"
information is not separated into a "base" and "sub" type. Eventually the
value-tracking logic will know about LValues and RValues, but not about
specialized LValues and RValues; separating the "kind" information into bits
indicating whether an ExprValue is an LValue or an RValue from the bits that
specify the actual value type makes this separation easier.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46329
91177308-0d34-0410-b5e6-
96231b3b80d8