CLEANUP: task: remove unneeded tests before task_destroy()

Since previous commit it's not needed anymore to test a task pointer
before calling task_destory() so let's just remove these tests from
the various callers before they become confusing. The function's
arguments were also documented. The same should probably be done
with tasklet_free() which involves a test in roughly half of the
call places.
diff --git a/include/proto/task.h b/include/proto/task.h
index f167933..df9bc2a 100644
--- a/include/proto/task.h
+++ b/include/proto/task.h
@@ -329,6 +329,10 @@
 	_HA_ATOMIC_SUB(&nb_tasks, 1);
 }
 
+/* Destroys a task : it's unlinked from the wait queues and is freed if it's
+ * the current task or not queued otherwise it's marked to be freed by the
+ * scheduler. It does nothing if <t> is NULL.
+ */
 static inline void task_destroy(struct task *t)
 {
 	if (!t)