Make assignment more robust

1) Agent rejects assignments when it is currently running
2) Coordinator asks agents to stop before updating if they are currently running