Fix PreviewCell so start is always defined.

Corrects 92736c5fbbff899f83c7cbca89156bfa7b5be540.
Correct "separate compiled code" marking

These items mysteriously became "unmarked." As a result, AddDevice was
requesting to be saved due to SubVI changes.
Connect DBL input to connector pane

Added a little documentation to the DBLtoMenuItem utility, and actually connected
the input to the connector pane so it can be used on the block diagram.
Add helper methods to parse string to item index

Added to VIs:

GetIndexFromItem takes a string and checks it against known item names,
returning either an index (or -1 if not found) and a boolean stating
whether the item was found

GetIndexFromTag does the same, except checking the list of tags instead of
item names.
MenuDisableCol: + methods to enable/disable cells

Neither method is hooked into the rest of the class yet.

DisableAllControlled.vi disables every column it has been assigned to
enable/disable, for use when the MenuDisableCol is disabled by something
else (intended to be called as part of its Disable method)

EnableDisableCells.vi does enabling/disabling of other cells based on the
entry chosen.  Defaults to all enabled if entry isn't found.  Otherwise,
uses internal data to pick individual cells to disable/re-enable.
Add Column Array Ref to Enable, Disable, ValChange

To allow Enabling/Disabling of cells in other columns from within calls to
Enable Disable and ValChange, we need to have the Column Array accessible
from with.  As such, add a connection to each of those VIs and all
children.
Connect Column Refs in places where called

Take all the column refs from the last commit (4e7622c) and make sure they
are connected properly wherever they are actually called.
Implement disabling subVIs in MenuDisableCol

Use the new column references to make the proper calls in all methods that
could involve the need to update disabled or enabled states of other
columns.

Still to do:
  - Update EnableDisableRow.vi to do a second pass.  May need more changes
    (Boolean flag?) to Enable.vi to get that up and running.
  - Update ApplyTableFormat.vi to do a second pass.
  - Actually implement InitTable.vi to do initial formatting of column.
    This'll be the thing that needs to be called twice.
Add `Needs 2nd Pass' to EnableCell, InitAppearance

Because objects that need to modify other cell's enabled/disabled states
with need to do so on a second pass when the table gets processed left to
right, we need to flag when if we want to be included in said second pass.

Added a bool to do this to EnableCell & InitAppearnce, and set to False
for every case _except_ MenuDisableCol's.
Add 2nd Enable pass to EnableDisableRow.vi

Implement second pass of call to Enable.vi if the method requests it.
This lets a column that disables others ensure that columns to its right
get disabled as expected.
Add bool for and implement 2nd pass of InitAppear.

Give InitAppearance.vi a `Needs 2nd Pass' boolean that flags whether or
not it will need a second pass after the rest of the table has been
initialized.  Implemented this in the place it is called
(ApplyTableAppearance_benchmarking.vi).

Also implemented a 2nd pass for specifically MenuDisableCol in
ApplyTableBlockAppearance.vi

Almost done with this bugfix, but for some reason when doing copy/paste
related actions the enabling/disabling gets undone on the whichever row
the click happens.
MenuDisableCol's MenuDo acts only on its own tags

Fixes a bug where the enable/disable code would treat the incoming tag as
a variable and enable the whole row.  Now we pre-check for known tags and
call enable/disable when they are found.  Other tags bypass the
enable/disable code entirely.
MenuCol/DBLtoMenuItem includes last menu item

The wrong setting on a coerce and in range item meant this VI was
erroneously reporting that the last menu item DNE.  Set it to include the
upper limit, and this works now.  Also made sure the error message
reported included the raw index instead of the coerced one.

This commit, plus the following list, fixes #50:
c5274b3
4e7622c
cb2cefc
bbb5660
c502d2f
b249df6
d58d2c0
061d5f0
Address request #54

Inform Igor variables will always be sent to Igor in both single run and
sequence run)
Address issue #48

Make sequence history table view first row when update sequence table.
(Clicking UpdateHWI, Run, or Run Sequence Buttons)
MenuCol: Use 2nd BGColor to indicate unknown item

Use the second (index 1) BG Color for a cell if its contents do not match
a known menu entry.  This makes it easier to spot spelling mistakes or
places where you will be using a variable to determine which menu entry
you've chosen.

If no second color exists, safely uses the first (only) bg color instead.
Add "Insert Variable" to right-click menu

Closes #56.

Add an "Insert Variable" menu item to the right-click menu for cells that
have variables enabled.  This contains sub-menus for each defined variable
group in addition to one listing all current variables.

Utility functions InsertVariableMenuBuild and VarNameFromMenuTag handle
most of the work interfacing the Variable Manager to the menu.  MenuBuild
just added a single menu item that InsertVariableMenuBuild will look for.
MenuDo just calls VarNameFromMenuTag to interpret any tags starting with
"USERVAR_INDEX_" and places the correct variable name into that cell of
the table.
Update VariableDelete for VariableGroups usage

VariableDelete will also remove given VariableName from all groups.
Merge remote-tracking branch 'origin/master' into Add-Variable-Menu
Revert "Update VariableDelete for VariableGroups usage"

This reverts commit 8d3144792bcdc194c795cb5d06c914cf4c2445b9.