Issue #9: DataCreator uses intermediate set

To make sure no duplicate values are created, DataCreator methods that
return a vector now use an intermediate set to store data. Upon return,
the set is converted to a vector. (This is similar to how the FileReader
classes work.)