Alter hash_diff to accept parameters in any order

Rename the variables to be more sensible for that, and rewrite current
functions that use it appropriately.
First --diff try
Restore modes.
Tests: Test restoring modes.
Add .perlcriticrc
metamonger: Fix perlcritic warnings

Started to carry $error_count around. This both makes perlcritic
shut up and allows us to print the total error count at the end,
if any.
Merge branch 'master' of github.com:RichiH/metamonger
Merge remote-tracking branch 'errietta/feature--restore--mode'
Merge remote-tracking branch 'errietta/feature--diff-2'
Merge branch 'fix--perlcritic'

Conflicts:
	metamonger
metamonger: Minor whitespace fix
Tidy up tests.
Merge remote-tracking branch 'errietta/feature--clean_tests'