first work on a testsuite for icecream

So far only starts one scheduler and one daemon locally, runs each command
both via icecc (which will for now run it locally) and directly
without icecc, and compares results.
a host is eligible for compiling its own jobs even without chroot
allow two hosts from the same IP, if they use different names

Seems to work otherwise, and can be useful for testing.
-Wshadow in debug code
it is possible to have the capability to chroot even without UID 0
make the daemon port configurable

Also use the daemon -p option for this port rather than scheduler port, specify
that one as part of -s.
It appears that the whole system is prepared for it not to be hardcoded,
except that it is in the daemon setup.
This should be useful for icecream testing.
debug message in case remote jobs are disabled because of no chroot
make it possible to do "remote" build with a local daemon

If icecc is invoked with ICECC_TEST_REMOTEBUILD set, only the local
daemon with --no-remote (or no chroot) will use local builds,
icecc will use remote builds if it gets told to use the other daemons.
Note that icecc needs to talk (ICECC_TEST_SOCKET) to the noremote
daemon.
make it possible to specify USE_SCHEDULER as host:port too

This way USE_SCHEDULER=host:port icemon can make icemon work
with a different port too.
extend the test to use 2 faked remote daemons
do not use cerr in a signal handler
remove old log files, if any, before starting new tests

So that there's only one run, not new one appended after old ones.
localice test build should have localice as the preferred host of course
ICECC_TEST_REMOTEBUILD=1 is to be passed to icecc, not iceccd
icecc log messages to a log file too
do not let icecc-create-env's output be visible from daemon

It's somewhat annoying when it's invoked automatically and it spams
the output.
something changed in a signal handler should be volatile

Throw in sig_atomic_t, while at it.
make daemon exit cleanly on SIGTERM, just like scheduler

The SIGTERM message from shell gets annoying when running tests.
make test check logs for various errors and expected messages
test running /bin/true, which should be like using icerun