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
Merge branch 'master' into Add-Stage-Device