PerlTidy Code Base; Add PerlTidy Helpers

This is the giant perltidy merge!

The branch contains a code base on which perltidy has been run to make nice and consistent looking code.  The process required a lot more manual code edits than I had expected.  I believe everything is working, but please test this branch for me.

__A notable issue__ - Please be very careful when using the end of line `# noloop` comment.  If the line, including comment, is over 80 characters, perltidy will split up the line.  This results in the `# noloop` comment only appearing on one of the two lines, which will lead to an error.  To avoid any potential for this error the preference is now to use `# noloop=start` and `# noloop=stop` comments when contributing code.  This does NOT affect user_code which is not touched by perltidy.

The branch also contains a few new files:
- bin/perltidyall (bin/perltidyall.bat for WinOS) - A free standing script that when called will run perltidy on the entire code base.  Use this for cleaning up the code prior to a release or for cleaning up your own changes before committing them.
- bin/githook-perltidy (bin/githook-perltidy.bat for WinOS) - This script can be used to automatically install a perltidy githook on your system.  This will cause perltidy to be run ONLY on the files that have been changed during the commit process.  While a batch file is provided for WinOS support, currently the git environment cannot be made to work with the commit script.  The batch file is provided should this ever be solved.