haltcl: improve error messages

Before, haltcl would always use strerror() when the hal command
encountered an error.  This was less than desirable, because usually
hal has already left a more useful error.  Instead, only use the
strerror() value as a fallback when there is no string message.
twopass.tcl: reduce unneeded verbose printing

When [HAL]TWOPASS=verbose is specified, prints are made comparing
lines that are altered when converting from hal to tcl.  This patch
reduces the output by avoiding printing differences that occur
because of leading or trailing whitespace differences only.
twopass.tcl: improve error reporting

in proc source_the_files:
  1) catch error and report without traceback
  2) identify original file if it was converted
  3) allow detection of error in more than one file

in proc hal_to_tcl:
  catch and report file open errors without traceback
add some MDI queueing tests
task: fix an MDI queueing bug

Incoming MDI commands now get queued by emcTaskPlan(), if Task and the
interpreter are not ready to process them just yet.
task: don't feed interp from the mdi queue if it's busy
task: remove old incorrect mdi queueing code
un-skip a bunch of tests

These tests were failing due to the mdi queue bug, which was just fixed,
so these should pass now.
Fix rebranding bug sf #3585400

Signed-off-by: Michael Geszkiewicz <micges@wp.pl>