Improve scheduling

This changes the type returned from `ListHosts` from a `map[string]host.Host` to a `[]host.Host`, and adds some very simple tools to schedule jobs on the hosts with the smallest number of running jobs.

Hopefully it will provide a mild improvement in the scheduling behavior.
Ok yes that additional condition sounds good