Fix for PR21254 - Assertion in comment parser

The size of the ID field in CommandInfo was narrow, leading to potential 
wrap-around of command IDs, causing misinterpretation later on.
The patch does the following:
- It extends the ID bitfield from 8 to 20 bits.
- It provides a DRY definition of the number of bits for the field to 
  avoid using literal numbers in different files.
- It introduces a new assertion that checks for the wrap-around.
- It adds the testcase from PR21254.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@219802 91177308-0d34-0410-b5e6-96231b3b80d8