Fix finding container base classes

Move logic to find template classes to its own helper method, and newly
use the helper in AbstractMetaBuilder::getBaseClasses. This fixes the
latter not finding template base classes, which fixes class topological
sorting in some cases.

Unfortunately I have not figured out a reliable unit test for this,
although printing a debug warning when finding the parent fails (or when
a template lookup succeeds) is able to verify that this change is doing
something useful.

Change-Id: I2a5e0df4035393288b6f69ebc41dc0e64866a182
Reviewed-by: John Cummings <jcummings2@users.sf.net>
Don't warn when inheriting from container

Change AbstractMetaBuilder::setupInheritance to not warn about classes
that inherit from known container types, even if the container type does
not have a corresponding wrapper class (which in many or most cases it
won't). Remove now-unneeded suppression for the same in 'sample'.

Change-Id: I0a45636791eba36cf070ea082eb6ead6cb5947ef
Reviewed-by: John Cummings <jcummings2@users.sf.net>
Fix 'special' include handling

Fix handling of includes like '#include BOOST_USER_CONFIG'. This was
failing due to an obvious logic error in how the preprocessor tests if
the expanded symbol looks like an include file location.

Change-Id: Ia085e5c081078d328d6fc84ff2a99681913a30b9
Reviewed-by: John Cummings <jcummings2@users.sf.net>