Remove task descriptors when tasks complete
Calling norns(ctl)?_error() to query the status of a running task will release its descriptor in the server if the task already completed (NORNS_EFINISHED or NORNS_EFINISHEDWERROR). Since norns(ctl)?_wait() internally queries the task status to check whether a task has completed, we cache the retrieved task_status into the iotask_t user descriptor so that it can be retrieved by a subsequent norns(ctl)?_error() call.