Fix naming problems with duplicated semantic detection.

1. appendDuplicatedInSemantics took the sem in as a std::string,
   but >1 semantic name maps to each semantic enum
   (e.g. 'color' and 'color1'); use EAttribSemantic instead.

2. suppressedBy() was not used when linking main to xlat_main so
   non-existent attributes were being referenced.

Added a test-case that covers both of these issues.
Fix struct-in-struct duplicated semantic detection.

StructMember was missing the necessary virtual function
overrides for getStruct() so structs within structs weren't
being descended into.

Sub-structures members don't have EqtIn or EqtInOut qualifiers,
they come trough as EqtNone, so allow those to also be checked
for being duplicates.

Sped up this process a bit by iterating over EAttribSemantic
instead of kAttributeSemantic (which contains redundancy).

Added a test-case that covers this issue.
Merge pull request #37 from mingwandroid/duplicated-sem-fixes

Duplicated semantic fixes