Use set for assigned agents

Using a set instead of a list for keeping track of which agents have had
tasks assigned to them during the current scheduler run is the more
logical choice and makes it impossible to accidentally have an agent in
there twice for whatever reason.
Merge pull request #161 from guidow/set_for_assigned_agents

Use set for assigned agents