Make pyro_manager a bit smarter.

Added a new class: pyro_task that holds a schedule of tasks. The tasks
are arranged by year and then by ensemble member, and form a grid.
The schduler can be asked for the next outstanding task, and
pyro_manager uses this to launc a worker with that task.

Additionally, pyro_worker now saves its results using the ResultsManager
so as they should be accessible to any other workers/the manager.