hal/halsampler: add -N <compnname> option

needed to wait for this component
also rewrite using getopt(3)
tests/abs.0: fix race condition

partially repairs https://github.com/machinekit/machinekit/issues/202
let's see how this works out, then fix the rest of them.
gitgnore lib/python/machinekit/__init__.py
Merge pull request #203 from mhaberler/fixsampler

halsampler - add -N <name> argument
Merge pull request #206 from jasonpenn/master

Make G28 and G39 remappable
tests: rearrange invocation of halsampler to avoid race conditions

see also: https://github.com/machinekit/machinekit/issues/202

this fixes a wide range of runtests errors, from 'overrun detected
- re-running tests' to runtests with truncated output from halsampler


Signed-off-by: Michael Haberler <git@mah.priv.at>
Merge pull request #207 from mhaberler/fixsampler

tests: rearrange invocation of halsampler to avoid race conditions
halcmd: add 'sleep <float>' command

this is a stopgap measure intended to track down the embarrassing number
of race conditions in halcmd scripts, in particular runtests

if one adds 'sleep <time>' to a halcmd script and results somehow change,
this is a strong indication something is badly wrong
tests/edge/*/test.hal: try to figure if this has a shutdown race

if runtests failures go away due to this, this is telltale for another
race during shutdown (and no, that would not be a UBC3 contribution)
halcmd: add '-i' flag to waitusr

if a component already exited, dont fail the waitusr and hence the
halcmd exit value.

$ halcmd waitusr foo
<commandline>:0: component 'foo' not found
$ echo $?
1

$ halcmd waitusr -i foo
$ echo $?
0
tests/edge: do not fail the test if halsampler already did her job

it is ok if halsampler exited early. It is not ok to shutdown the script
if halsampler was not done at this point.

another stab at nailing down runtests failures involving halsampler
halsampler tests: make halcmd not fail on waitusr if halsampler already finished

that hopefully fixes the last cause.

The authors of these tests deserve coding bank websites in Java for life.
docs/halcmd: document the 'sleep' and 'waitusr -i <compname>' options
Merge pull request #209 from mhaberler/master

halsampler runtests: another stab at fixing #202
configs : Fix incorrect CRAMPS thermistor pull-up resistor value

Signed-off-by: Charles Steinkuehler <charles@steinkuehler.net>
Merge pull request #212 from cdsteinkuehler/CRAMPS-ThermFix

configs : Fix incorrect CRAMPS thermistor pull-up resistor value
component : update config with joint to cartesian position

this configuration for the lineardelta uses a component that
translates the joint positions to the cartesian positions. Since
the JA4 branch is not merged yet this is a temporary solution in
getting the correct nozzle velocity for use with velocity
controlled extrusion.

install:
comp --install lineardeltajointscartesian.comp

This component is directly taken from the lineardelta kinematics.
script : update scripts for better parsing the slic3r gcode file

sometimes the slic3r retract/unretract is not consistent.
correct-retract-on-next-layer.py corrects that

added also author.py and g1tog23.py (from linuxcnc website) to
have all the prerequisits for running the cleanup script in
one location

furthermore I have fixed the removing of some temporary files
which had been commented out for debugging purposes
scripts : fix small issue of wrongly commented printline
Rework debian/configure:  fixes #215

(This commit best read using 'git show -C')

The source configuration script needs to be runnable even in
environments where package build dependencies are absent.

Because people building packages ought to know what they're doing, the
checks for build deps are removed, and all configuration now comes
from the command line.  After all, builds will fail with meaningful
errors if build dependencies aren't met.

An assumption made is that Xenomai (and RTAI, someday) kernel packages
follow upstream Debian package naming.  The way those are set up, it's
reasonably easy to generate the right header directory path,
Build-Depends:, and Depends:.  The only tricky part is the kernel
'flavour' is included in the package name, which requires some arch
hardcoding hackery to otherwise avoid great complication; the hope
here is that the list of architectures won't change often.

The result is the Universal Build builds against possibly multiple
kernel versions, and the Debian packaging builds one kmodule flaver
package for each.

By default, all threads are disabled; package builders MUST enable
thread package builds by adding flags to the debin/configure command
line.  See `debian/configure -h` for details.

Because the package needs the debian/configure script to run, it must
be format '3.0 (quilt)'; native format breaks the debian/configure
script's customizations.

Summary of changes:
- Simplify debian/configure structure
  - Command-line args correspond directly to per-flavor config functions
  - All configs for a flavor go into one simple function
  - Just a few small helper utilities
- Enable multiple, per-kernel version module pkgs per kthreads flavor
- All/any flavors may be enabled or disabled
- Rename non-template *.files.in to *.files
- Add usage() function
- Convert package to 3.0 (quilt) format
- Update .gitignore
- Bonus:  compress source package .orig tarball with bz2 by default