Administrative API

This is the start of an Administrative API. Right now, it doesn't really give you any extra functionality over the normal API (other than getting the list of all running tasks), but it will be a place to put administrative functions, that we don't want normal code to do (like forcing a task into the failed state, even if you aren't the one running it, or promoting it to the front of the queue).

I also changed the core protocol a little bit, so that we maintain a list of all active tasks in a given queue, until they are deleted. This makes it easier to get all the tasks, regardless of what state they are in or where they are running.

@hiwaylon @joshmarshall Can one of you take a look at it?