GDCC: Added header files to CMakeLists.txt.
IRDump: Fixed trailing space in type output.
Core: Rewrote String class interface.

Use Option's C-string utilities instead of redefining them in Core.
Moved string table management to be internal to String itself.
Changed std::hash and std::less to operate on the string instead of the index.
String::Get (previously AddString) looks for compatible substrings in existing table.