Better error reporting for dx-build-app/let --remote spawned jobs.

We invoke the inner dx-build-app/let in-process so we get the real
exception message, instead of a CalledProcessError.

This requires corresponding client changes-- the outer dx-build-app/let
needs to provide a hash of the extra options as kwargs, instead of a
string containing command-line flags. Each builder app gets a new
build_options input and the extra_flags input is now deprecated.

For now we are backwards compatible, but old clients may not get as good
error reporting.