Try to change everything, then die

Raher than abort on the first failure, we now attempt to modify
everything, and THEN fail.  This means we'll get a complete list of
files with issues in one run, rather than being forced to iteratively
fix everything.
Future proofing all hooks against the 5.20 upgrade

The single most annoying change in perl5.18 (which I am skipping) was
introducing warnings for the use of experimental features.  The switch
(given/when) is my favorite new feature in perl recently, and someone
decided you needed to be warned about using it, since it was going to
change in the future.  Maybe.

This conditional no warnings like will avoid those warnings when
upgrade efsdeploy to perl5.20, which is coming soon.