Merge pull request #16 from hnousiainen/master

Retries for list_tasks and get_task in worker_base:fetch_task()
build-control: clean up tasks after completion
Merge pull request #17 from hnousiainen/task-cleanup-after-build-complete

build-control: clean up tasks after completion
build-control: remove explicit task numbering from job config
frontend: accept job creations/manipulations through one PUT call only
Merge pull request #18 from hnousiainen/refactor

Refactor
frontend: accept GET id/name for artifact fetches

Accept GET /jobs/<name>/builds/<no>/artifacts/<id>/ for artifact fetches, so that browser downloads can get a proper name without content-disposition headers.
frontend: return state for default build get
worker: reverse stored artifact info into id => path
Merge pull request #19 from hnousiainen/artifacts

Artifacts
frontend: switch from flup to gunicorn
Merge pull request #20 from hnousiainen/gunicorn

frontend: switch from flup to gunicorn
worker: execute_shell, define some common environmental variables