tests: move toolchanger-test's tool-table file
test: add a test of M61

This test uses a full LinuxCNC setup and a custom python test-ui.

It commands M61 and verifies both that the IO tool-change pins don't act,
and that the tool-related interp parameters reflect the requested tool
when it's done.

This test fails on v2.5.3-9-g5f7693a but passes after the m61-fix commits
are applied.

Thanks to Norbert (nieson) for reporting this bug.
io: fix a tool number/pocket number bug in EMC_TOOL_SET_NUMBER (M61)

Rename a local variable from "number" to "pocket_number", which is more
descriptive, and which highlights a bug in the code.  Fix the bug.
io: better debug message
io: update the spindle "pocket" on M61

This commit teaches io to update pocket 0 correctly on M61, which
communicates to the rest of linuxcnc what the currently loaded tool is
like.
interp: fix M61

* separate pocket numbers & tool numbers properly
* set internal tool state variable correctly
* update tool numbered parameters to reflect the new tool
m61 test: don't throw exceptions in LinuxcncControl.g()

By default the LinuxcncControl class throws an exception if it gets an
unexpected message from linuxcnc while waiting for its gcode to run.
This would cause spurious test failures when we got the "Unexpected
realtime delay" message on the laggy VMs in the buildbot.

This commit disables these exceptions, the messages just get printed to
stdout now.
m61 test: fix some spurious failures

Don't fail the test if we get unexpected messages from linuxcnc while
waiting for the parameter debug message to come back from interp.
docs: describe args for multiple hm2_7i43 cards

Update the manpage to show that the ioaddr and ioaddr_hi arguments
(and the others) all take arrays, not single scalars.

Thanks to Peter Wallace for the bug report.