Call task_error via task.

Converts all task_error calls to use the standard task function.
This also renames the $task_error variable to $task_error_code, as
it clashes with the task_error function.
Change lot of die calls to task error calls.
Move error strings to subroutines-error.

Moves the error strings to fai_strerror function in
subroutines-error to make better use of the error codes and
to consolidate error messages.
Remove error hook from function backtrace.

This removes the task_error and task frunction names from the
function backtrace and displays the real error position.
Prevent recursive / multiple calls of tasks.

Creates runtime lockfiles after processing a task.
Redefine FAI die handling.

Send TASKDIE in case of a FAI abort and add FAI_DIE_SLEEPING to
have FAI sleeping instead of starting an interactive shell.

This also removes the "exec" from the interactive shell to run
faiend task for possible cleanup.
Seperate error code from severity.

This splits the error severity from the error code, and introduces
the error levels warn, error and fatal to indicate the severity.
It also changes the only two "information" errors to the warning
severity and drops the now invalid error-levels documentation.

Error hooks should call fai_verify_error to extract error code,
severity and message from the hook arguments, which also does some
simple argument checks.
Add error convenience functions.

Adds convenience function to skip an error or create an
warning, error or fatal error.
Deprecate die() and stop_fai_installation().

Instead of these functions one should issue a fatal error.
The functions will issue a warning error, if used.

As a result the die() code is merged into task_error.
Change semantics of STOP_ON_ERROR and rename.

Renames STOP_ON_ERROR to FAI_DIE_ON_ERROR and changes the semantics
for FAI_DIE_ON_ERROR to exactly stop FAI on the error code. Also add
it to fai.conf{,.defaults} and document the new behaviour fai.conf.5.