travis.yml: add clang to build matrix

However, always build json-c with gcc because it fails to build
under clang.  :-(
libflux/security.c: fix return code test on zmsg_encode()

zmsg_encode() returns size_t, so it is invalid to test for a return
value less than zero here. In fact, zmsg_encode() doesn't appear
to return an error at all -- even if malloc(3) fails it will return
the buffer_size that was computed from the zmsg.

For now, silence warnings from clang by detecting a return code of 0
from zmsg_encode() as an error. Also, errno isn't set, so don't
try to use it in the error message.
hostlist: fix warning about invalid initialization

The clang compiler detected this bug in hostlist.c

485    char *p = '\0';

Actually, `p' didn't need to be initialized in this function, so
just remove the invalid initialization.
optparse: fix invalid error check in optparse_create

The return code for optparse_add_option() was checked against '< 0'
instead of '!= OPTPARSE_SUCCESS' in optparse_create. Fix it and
silence warning with clang compiler.