lua: fix possible crash in iowatcher callback

In iowatcher callback, protect against uninitialized string access.
This could (and did under some circumstances) cause a crash in
the lua handler for IO.
config: set path to wrexecd when running from builddir

For the builddir version of etc/flux/config, set wrexec.wrexecd_path
to the local built wrexecd. This can then be used by wrexec comms
module to find the right wrexecd.
wreck: Use configured path to wrexecd if it exists.

Instead of only relying on #define version of WREXECD_PATH, track
the kvs value 'config.wrexec.wrexecd_path' and use that as the
path to wrexecd if it exists. If the path does not exist, the
fallback to the default (system) location.

The wrexec comms module now installs a watch on this value, so
the path to wrexecd can be set at runtime.
wreck: Do not build wrexecinst module

The wrexecinst module is needed no more, since path to
wrexecd is now passed through configuration.
config: wrexec: add path to lua plugins when using builddir

Lua plugins for wrexecd are actually in srcdir not builddir
so using the wrexecd exec path to find them wasn't actually
working. Instead, use the nice flux config file to store the
glob pattern that should be used when in a builddir.
wreck: load glob pattern for lua plugins from config store

Set a default system value for the "lua pattern" for wrexecd
lua extensions. Then at job startup check the kvs under

 config.wrexec.lua_pattern

to see if the default should be overridden.
testsuite: add simple wreckrun tests

Start a wreckrun testsuite. Mainly basic functionality tests for now.
testing: add lua-hostlist to travis-ci testing

The lua-hostlist package is currently require for flux-wreckrun,
so is now a prereq for the wreckrun tests. Install during the
travis-ci builds so wreckrun tests do not fail.
Merge pull request #96 from grondo/wreck-tests-and-fixes

wreck: Use flux config subsystem for runtime paths; add tests, and other fixes