external tasks

A recipe task no longer needs to reference the task library, instead the
job XML can specify a "fetch URL".

Based on a patch contributed by Bill Peck <bpeck@redhat.com>.

Bug: 1057459
Change-Id: Ib3b5415c623c01343228447d3cf4a0298a9bcd70
record task version in each recipe-task

Bug: 576304
Change-Id: I76987182c27b5db8ae8c808890491accddab79ee
lab controller API to allow harnesses to update task name and version

Bug: 1057459
Change-Id: I96498bfd52fd18d92af492ee3006381d55c5acce