api: re-initialize reactor_start function

The reactor should support re-entry per issue #88.
This covers the reactor in the API handle implementation.
modules: re-initialize reactor start function

Reactor should support re-entry per issue #88.
This covers the reactor in comms module handle implementation.
build: use flux-keygen --force to generate keys

Automake occasionally decides that keys need to be re-generated
after some series of changes that I don't quite understand.
No harm in adding --force so this is not a hard error.
Merge pull request #90 from garlick/reactor-restart

allow reactor restart + generate in-tree keys with --force
Fixes #88
testsuite: check for expected exit codes from flux-start

Especially for testing purposes, flux-start exit code should
communicate failures from underlying commands or other session
errors.

Add a couple checks to the basic tests to ensure that flux-start
reports exit code from underlying command and additionally detects
children killed by signals.
flux-start: exit with maximum exit code of children

flux-start currently always exits with 0 status which makes it
impossible to tell if a test run under flux-start actually passed
or failed.

This patch saves the largest return code from all children and
uses that as the exit status for flux-start. (signals are indicated
by the standard 128 + signum). This only applies to "start_direct",
since otherwise flux-start directly execs the launcher (i.e. srun).
Merge pull request #91 from grondo/flux-start-error-handling

flux-start: handle non-zero exit code of children
libutil: move xstrsub to libutil/xzmalloc.c
submodule: flux_modfind() search subdirs

Seach each component of the search path recursively.
submodule: send submodule mgmt requests to modules

flux_insmod ("kvs") request is cmb.insmod.
flux_insmod ("sched.backfill") request is sched.insmod,
flux_insmod ("sched.backfill.priority") request is sched.backfill.insmod.

Similar for flux_rmmod.

flux_lsmod now takes a target argument.
If NULL, request is cmb.lsmod.
If "sched", request is sched.lsmod.
submodule: update flux_lsmod usage in modctl

Set target to NULL pending rework of this module.
submodule: install modules to cmb subdir
submodule: unit tests for flux_modfind()

Also remove a stray debugging fprintf
submodule: add some inline docs to module.h
submodule: shorten flux.conf.in module_path

We no longer need to list every module directory, or hardwire
the .libs libtoolism since we search for modules recursively now.
submodule: drop unnecessary include in module.c
Merge pull request #92 from garlick/submodule

generalize module loading for submodules