Use failed_when instead of ignore_errors

ignore_errors still displays red on the screen and it looks like a
failed task. Makes it difficult to grep logs and visually inspect
output. failed_when does not do this, instead it just looks as if it
were a success, which is what we're after. The return json still marks
the task as failed so we can use that data elsewhere if desired.

This is a pet-peeve style fix applied across the files without looking at anything else in those files.