Create jobs API, move task-related methods to tasks.

The jobs API replaces the task-specific endpoints and unifies the
creation and polling of jobs and their tasks.
Methods pertaining to tasks, like appending file extensions and
calculating paths, now live in tasks.
Match tasks coding style with rest of the repo.
Update the WebMonitor JS object for the new API.

This is also a substantial refactor, and should allow derivative apps to interface with the monitor much more concisely.