Precise invocation of subprocesses

Rather than passing a string which we then use /bin/sh to parse a string we construct, pass the precise array of arguments. Updates all users in our codebase to use the precise form.

Side changes:
- Fix broken config option found by updated JHM
- Make \<base/json> handle trailing commas properly. Fixes #247