[docs] Teach CMake docs build how to generate Qt Creator help/documentation files.

Patch by Konrad Kleine.

Differential Revision: http://llvm-reviews.chandlerc.com/D2967
[ADT] Update PointerIntPair to handle pointer types with more than 31 bits free.

Previously, the assertions in PointerIntPair would try to calculate the value
(1 << NumLowBitsAvailable); the inferred type here is 'int', so if there were
more than 31 bits available we'd get a shift overflow.

Also, add a rudimentary unit test file for PointerIntPair.