use Sets instead of Lists

@williamboxhall The inputs/outputs shouldn't have duplicated elements and the order is not necessary.
I would like to be able to source:
```scala
def getTweets(ids: List[Int]): Future[List[Tweet]]
def getTweets(ids: Set[Int]): Future[Set[Tweet]]
def getTweets(ids: Set[Int]): Future[List[Tweet]]
def getTweets(ids: Iterable[Int]): Future[Iterable[Tweet]]
```