Add a dynamically sized struct initialsed from str

A new utility, StringStruct, can be used to initialise data such as that
used in callgrind data files:

Initialisation:
  "name1 name2 name3 name4..."
Struct C'tor:
   "1 324 -5345"