Generalize matchedParen... to matchedDelimiterSet. Smartsplit now cares about (), {} and [].

matchedDelimiterSet now returns all matches at the same level.
matchedDelimiterSet is currently unsuitable for logos as I killed the ; terminator.
Support names for types (types do not inherently have names, but this is groundwork for struct/union types.
struct and union support.