Miscellaneous fixes

- Last commit before the new year! (unless something breaks badly)

- Improved error detection and logging in many many areas
- Started re-factoring in frmMain to break down monster methods
- Added some utility methods to reduce code duplication throughout the application

NOTE: The NLog configuration file has been touched to add Trace level logging. If you do NOT want this functionality, just change the Trace to a Debug, and everything should be fine. I have it set because it makes error detection that much easier.

I suggest the use of a log viewer...