Bug 528846 - Handle id-expression that instantiates to pseudo-destructor name of built-in type

The pseudo-destructor is represented as a CPPImplicitFunction, computed
lazily and stored by CPPBasicType.

This commit also adds support for alias templates to
CPPTemplates.getTemplateName().

Change-Id: I6774556b2493cb68d32c3007d6ce48c7805595f4
6 files changed