Update to support multiple checksum groups as defined in an ECU definition, i.e.: Checksum Fix 2
Clean Up:
 - Now using the ECUEditorManager to access the ECUEditor.
 - Moved static final values to the settings class.
Editor Cleanup:
 - Moved static settings to the Settings class.
 - Added better support for cleaning up listeners, and refreshing the UI.
 - Now manually call GC after open and close.
 - Revised the compare image functionality.
 - Revised getTableAsString() functions.  These now can get different values as a string.
 - Revised "save as repository" to properly save table headers.
Updated UI Refresh to go back to using Repaint.
Editor Comparison Updates:
 - Resolved issue where missing TableSwitch getType() method breaks table rendering.
 - Added ability to compare DTC's.  Differences will change the DTC radio button text to Red.
 - Unsupported DTC menu options are now disabled.
 - Wrapped all table compare functions in try catch returning false on errors.
 - Added Override equals() method to axis tables (Table1D).
More Editor Cleanup:
 - Combined idea of RomTreeNode and Rom into one.
 - Rom now contains a list of TableTreeNodes.
 - TableTreeNode now consists of a TableFrame.java.
 - TableFrame includes the reference to the table.
 - Fixed DTC TablePropertyPanel error.
 - Fixed definition locating routine.
More Editor Cleanup Continued:
 - Fixed "addRom()" routine.  The tree is now properly built from the vector of TableTreeNodes.
 - Fixed "Close Image" worker.
 - SetUserLevelWorker became much simpler.  It now is just a rebuild of the JTree.
 - RomTreeRootNode.java now is just a basic DefaultMutableTreeNode.
 - Closing a Rom now properly cleans up memory.
Note: lastSelectedRom will not be set when focusing on a TableFrame.  This feature requires unnecessary work and/or references.  lastSelectedRom will now only be set when selecting something in Rom tree.
Editor Updates:
 - "Compare to Table" menu is now populated.  The sub menu item has the tables Rom name and the tooltip will display the table name.
 - Clicking a table name in the tree view will display the table or focus on the table.  The table is no longer closed unless you click the x or select close from the menu.
 - The TableFrame now handles menu actions.
 - Removed TableFrame reference from TableMenuItem.
UI Updates:
 - Modified editor startup.  Removed unnecessary references from toolbars.
 - Added 2 new settings.  One option for opening the Rom tree view expanded and another for displaying the table toolbar border.
 - Saving settings should now refresh the UI.
 - Fixed table toolbar refresh issue when table is focused by closing another table.
UI Settings:

Click Behavior
 - Click behavior open/close: click to open the table.  If the table is open the next click will close the table.
 - Click behavior open/focus: click to open the table.  If the table is open the next click will focus the table.

Open Table At [0,0]
 - If checked all newly opened tables will open at the point [0,0]
 - If not checked all newly opened tables will cascade from the current selected frame location.  If no table is selected the tables will cascade from the frame at index [0].

 - Moved adding the Rom node to the UI behind applying the table colors.
Improved Rom loading:
 - Unmarshall memory is freed after it completes.  This allows for a lower memory spike and less heap allocation.
Editor Updates:
 - Fixed JFontChooser error.  Included JFontChooser.java into project and removed .jar.
 - Cleaned up Table and DataCell logic.
 - Added Table Setting for displaying title border on the table toolbar.
 - Exposed the select and highlight colors.  This existed but did not appear to be used properly.
 - Increased load times.
Resolves Fast Decrement Issues:
Helps to limit issue where decrementing cells several times really fast and then highlighting another cell causes the newly highlighted cell to be decremented.

Note: Similar issues may exist.  Long running tasks like refreshing the data bounds needs to happen on a worker thread.  The cursor could be disabled while these tasks are running to avoid these sorts of issues.  I prefer to show the wait cursor but allow clicks.
Editor Fixes:
 - Reduces the calls to drawTable()
 - Rom node and category node now use "table click count" for expand and collapse.
 - Updated Color Scale to use low for 0 and high for NAN.  NAN is caused by a divide by 0.
Editor Fixes:
 - Updated Undo to use setBinValue().  This will allow for redraw when selecting undo or undo all.
 - Added check for no compares or empty list before refreshing table compares.
Axis Fixes and New Settings:
 - Added a setting for changing the select color.
 - Added a setting for coloring of axis.
 - Fixed axis comparison, text, and coloring.
 - Fixed axis raw value display.
 - Fixed cell tooltip.  The cell now displays either the bin value or the real value based on the table view setting.
Added success/failure message when adding or removing associations.
Editor Select Updates:
 - Add ability to Ctrl+Alt+Click(Drag) to un-select cells.
 - Fixed table header Ctrl click.
Cell Select Fixes:
 - Fixed bug: Using the arrow keys to move around a table does not update the table toolbar when moving to a table header.
 - Removed isStatic and isAxis from Table1D.  Instead isStatic is handled by the cells and isAxis is computed from the table type.
 - Resolved clear selection issues.
Fixed Build Issue:
 - revalidate() not supported in 1.6.  Validate makes more sense anyways because we are working with the Frame.