Fixed false failure bug, added noaction support

Fixed the problem where occasionally curl reported a failure (inspite of
using the option to prevent this) which caused ncm-download to
incorrectly report an error.

Modernised to include --noaction support. Component already had unit
tests in spite of using LC::Check::status. It turns out that
LC::Check::status *does* support noaction so is test safe.
I'm trying to avoid very long log lines and your version could do that. Will you be happy with:
```perl
-                    $self->warn("curl failed (". ($?>>8) ."): $errs\nCommand = ". join(' ', @cmd));
+                    $self->warn("curl failed (". ($?>>8) ."): $errs";
+                    $self->warn("Command = ". join(' ', @cmd));
```
I want to avoid the situation where the command gets lost because $errs has a huge amount of html garbage in it from curl. `@cmd ` can be quite long so should be on its own line - hence the original line feed.