3209: arv-run-pipeline-instance sends instance body as JSON.

If we don't encode the body as JSON ourselves, the API client library
will omit empty attributes.  This can cause required component
attributes like script_parameters to be lost, so we need to circumvent
that behavior.  It also seems safe, since we already do the same
encoding in the update method.  Closes #3209.
Start API pipeline integration test.

No issue #.  I wrote this while debugging the issue in the previous
commit.