Guard no input or output args for functions (#399)
Guard no input or output args for functions (#399)

Previously, if a function lacks input_args or lacks output_args, the
graph explorer would be unable to load a graph because
input_arg['name'] triggers an error (due to input_arg being undefined).

And indeed, functions without inputs (such as one with this signature)
as possible:

Likewise, nothing stops the `function.Defun` API from making a function
without outputs (and only side effects).

This change guards those cases. Fixes #375.
ioeric/tensorboard,agrubb/tensorboard,tensorflow/tensorboard,francoisluus/tensorboard-supervise,agrubb/tensorboard,ioeric/tensorboard,ioeric/tensorboard,qiuminxu/tensorboard,tensorflow/tensorboard,agrubb/tensorboard,ioeric/tensorboard,qiuminxu/tensorboard,agrubb/tensorboard,tensorflow/tensorboard,qiuminxu/tensorboard,francoisluus/tensorboard-supervise,tensorflow/tensorboard,qiuminxu/tensorboard,agrubb/tensorboard,ioeric/tensorboard,agrubb/tensorboard,francoisluus/tensorboard-supervise,francoisluus/tensorboard-supervise,francoisluus/tensorboard-supervise,tensorflow/tensorboard,tensorflow/tensorboard,qiuminxu/tensorboard,francoisluus/tensorboard-supervise,qiuminxu/tensorboard,tensorflow/tensorboard,ioeric/tensorboard