Clean up some inconsistencies in the get_next_job code

Return values now make more sense from a RESTful perspective. Since this call is on a worker resource, calling on an unknown worker id should give a 404 NOT FOUND. The "action" field is more analogous to a filter, so if a job is not available for the specified action, an empty job is returned.

Finally, the format of the return is more in line with other API calls. Rather than just returning a bare job, the format is now { 'job': {...}} or { 'job': None}