[Microsoft.Build.Tasks] 'Copy' task now returns failure when errors are logged

If we try to copy a file which does not exist, we log the error (as we have
always done) but now we return failure from the Copy task if any errors were
logged.

This means we will correctly fail the build later on instead of having a
successful build which did not complete correctly.