Convert the lists to sets and add some error checking
Convert the lists to sets and add some error checking

With the lists there was an issue where multiple keys of the same name were
created. This meant that there were multiple screen1's etc. As sets demand
that all keys are unique this issue is solved. Also, when a screen is created
we can now check whether the key was generated or not, allowing attempted
duplication to be reported

shaywood/srobo-compdis,shaywood/srobo-compdis,shaywood/srobo-compdis