Cleanup by moving code into subroutines.

  This is work in progress, but we're going to move more code into
 subroutines and get rid of the global variables.
  Updated to make perlcritic happier.

  This meant adding "use strict" and "use warnings".
  Added 'use File::Find'.

  The File::Find module was loaded by accident in the templer
 wrapper - where it wasn't used.  Moved the loading of that module
 here where it should live.
  Removed the loading of modules we don't directly use.
  Qualify "cwd" as "Cwd::cwd".
  Perlcritic is now 100% happy.
  "make critic" works.

  We now test *.in + *.pm, and do this prior to making releases.