[analyzer] PR41269: Add a bit of C++ smart pointer modeling.
Implement cplusplus.SmartPtrModeling, a new checker that doesn't
emit any warnings but models methods of smart pointers more precisely.
For now the only thing it does is make (bool) P return false when P
is a freshly moved pointer. This addresses a false positive in the
Differential Revision: https://reviews.llvm.org/D60796