docs: fix handling of the old tool in the M6 description

The description before this commit was wrong: in random-toolchanger
machines, tools don't "own" a slot in the tool changer.

The new words are more vague, and apply correctly to both random-tc and
nonrandom-tc machines.
docs: remove incorrect T-word info in M6 description

The T-word specifies the tool number (ie the tool id), *not* the slot
number (ie not the toolchanger magazine pocket id).

But in any case, surely the T-word is adequatly described in the section
describing the T-word, and doesn't need a repeat in the M6 section.
And the T-word section is linked from the M6 section, so i think we're
fine here.
docs: clarify numbered parameters

Numbered parameters describe other things in addition to the loaded
tool...
canon: fix some comments

The CHANGE_TOOL_NUMBER() canon call is *only* called by "M61 Qn".

The SELECT_POCKET() canon call is *only* called by "Tn".

The CHANGE_TOOL() canon ccall is *only* called by "M6".
canon: rename a CHANGE_TOOL_NUMBER() argument for clarity

Naming a variable "number" isn't very helpful, because we have "tool
numbers" and "pocket numbers" in the tool changer code.  Call this
variable "pocket_number" instead, to disambiguate.
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
Merge branch 'v2.5_branch'

Conflicts:
	docs/src/gcode/overview.txt
	src/emc/rs274ngc/interp_convert.cc
	src/emc/task/emccanon.cc
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.
Merge remote-tracking branch 'origin/v2.5_branch'