more consistency
limit parameters passed to task constructor
add configure() method
cosmétique
allow multiple --no-category option usage
new task API

short summary:
my $task = Task->new();
$task->configure(%params);
$task->run();
keep internal methods private
kill commented code
kill useless dependencies
merge fusion and ocs clients classes

The new class is now able to use both protocols
pass the agent client object to each task
use correct protocol
drop useless parameters
reuse the same client object for the target

move the client instanciation logic into create() factory method, as it
is the only place where it is needed.
use require() method, as everywhere else
get scheduled tasks only once in the agent

And pass the relevant result to each task, as for the prolog answer
no need for task-specific versions anymore
store available task as a hash

This allow to send correct module versions when requesting scheduled
tasks
more consistent minimal documentation
better method names