Allow passing of kwargs in a single dict in RunnerClient

Instead of (confusingly) passing the "kwarg" value as pub data, rename
that argument to "pub_data", and make "kwarg" act as a dictionary which
will be merged into the arglist before being passed to
load_args_and_kwargs. The now more-aptly-named "pub_data" value will
still be passed to this function in such a way that it is loaded as pub
data.
Merge pull request #11488 from terminalmage/issue11375

Allow passing of kwargs in a single dict in RunnerClient