Changed a few Logging.Error to Logging.ErrorExecption to get stack trace logged in HardwareUpdateThread.cs (and a few other places).  Might help run down the problem Greg Scull is having with E131 output (he supplied an error log that had lots of exception from HardwareUpdateThread.cs but no stack traces were present).
Added Zero Checking prior to decrementing the currentNodeIndex.

This change prevents the node index from going negative and will allow
execution to continue instead of a hardware exception which stops the
output controller.