Adds an option to use the selection box as CAD Style

When ON:
Dragging right to left selections any effects within the box.
Dragging left to right only selects effects that are contained in the box in whole.

This is per Derek's request (VIX-617)
Fix a bug in the extended chase when using discrete colors the extension would not work.
Prevent empty results from being added when the pulse results in 0 values on discrete gradients.
Make a change to prevent additional render requests to an effect while it is in the process of rendering itself. In some cases the pre-rendering in the editor can make a request to render and then try to draw itself before it is done. The attempt to draw can trigger a simultaneous render and cause duplicate data.
Fix a bug that would cause the last pulse in a chase that is using a gradient over the range of elements to render with the wrong portion of the gradient.
VIX-618 Added Null Reference check for EffectNode objects popped off of EffectNodeQueue before use
Adding check to DrawElement Routine that checks against the possibility of currentElement.stackcount being = 0
Finally fix the rendering progress bar in the grid. This has been an annoyance for a while now when it randomly hangs.
Changing behavior of Stackcount == 0 logic to default to RowHeight, previous logic would cause effect to dissapear in some cases
VIX-624 - Some Virtual serial ports are reported by the Windows O/S, but can not be used the same way that other serial ports are.  Some of these cause ArgumentExceptions when a user tries to configure a controller that iterates the list of available system ports.  This fix handles these instances.
Merge remote-tracking branch 'remotes/jeffu231/General_Bugs_V2'
Merge remote-tracking branch 'remotes/ebrady1/VIX-624'
Merge remote-tracking branch 'remotes/ebrady1/VIX-620'
Merge remote-tracking branch 'remotes/ebrady1/VIX-618'
Fix display setup screen font corruption
Improved exception hanlding of serial port scannign routine.  This will handle all of the five possible exceptions.  All exceptions will be logged to the Warning log except for the 'Port In Use' related exceptions
Merge remote-tracking branch 'remotes/ebrady1/VIX-629'
Merge remote-tracking branch 'remotes/piense/Config-Font-Fix'
Merge remote-tracking branch 'remotes/bolwire/CADStyleEffectSelection'
3.1u2 release prep and release notes.