Initial randomizer and introduced dataworksheet object

Added scratch work file playing around with ways of creating a suitable
anonymous list of identifiers to pair with the original list (sets used
as intermediary as they are fast at membership checking), and this has
reworked the data importing by using a simple dataworksheet class.