Fix constructor / destructor name check in c mode

The constructor and destructor name validity checks use typedef
resolution to allow for extension of typedef'd structs. This was
broken in C mode, where the kind modifier (i.e. 'struct') is an
intrinsic part of the type name. See the original bug report for more
detailed information. This patch adds a comparison helper for
SwigTypes that is insensitive to a preceding 'struct' modifier, for
use in checking constructor and destructor names.

Resolves #1306