Use task finish for softupdate cleanup.

We need the finish task to cleanup the FAI diversions.
Umounting is already handled correctly in task_finish, so
softupdate should be fine to use this task.
ainsl: fix appending to file w/o trailing newline.

If the file doesn't end with a newline and is not empty, a newline
is appended before the real line is added.
fai: use die() for errors.

patch from Jan does not apply cleany, so I did this manually