use Sets instead of Lists

@williamboxhall The inputs/outputs shouldn't have duplicated elements and the order is not necessary.
The fetch function order doesn't affect the elements order returned to the client code, it is internal to the Clump execution model. Clump has two "front end" methods that handle collections and they preserve the order even if we use ```Set``` here:

```Clump.traverse``` and ```clumpSource.get(inputs: List[T])```

Makes sense? :)