Generate a replacement String table

Instead of re-using the existing string table, generate a new one.

This gives us control over the contents and formatting of the table.

Test cases have been updated, but the header is still failing so
haven't been activated in the makefile yet
Add input file for elfstring table test cases
Data-vector now inherits from the FileLikeObject

Data-vector now inherits from the common base

Fixes 39