add log_tag to spawn/run requests

This is used to direct the stdout/stderr of the job to some syslog-like
service with the given tag.

Also redo protocol building.

A previous commit added explicit imports to the separate .protos so they
could be built independently, but we were building it all by appending
them to one file, so it had duplicate imports. This builds them
separately and appends all of the output to the single .rb afterwards.

Signed-off-by: Maria Shaldibina <mariash@pivotallabs.com>
when log_tag is given in spawn/run, send to syslog

Add syslog_socket configuration, which determines where these are
directed to. If not specified (nil), it uses the default from the
`logger` command (probably /dev/log).

This can be used to efficiently emit logs from a container without
having to go through the Warden server.

[#61998582]

Signed-off-by: Maria Shaldibina <mariash@pivotallabs.com>
Kill iomux-link jobs on warden server stop

When warden server starts up it recovers jobs and creates new iomux-link
processes. We now kill old process. This will hold the stdout/stderr
data in buffer (64K) until next iomux-link reconnects to it. They use
the same cursor path so it will start from where it was left.

Signed-off-by: Maria Shaldibina <mariash@pivotallabs.com>
save and recover log tag to/from snapshot

When the Warden server is drained it will now come up and continue
directing job output to syslog if it was initially spawned with that
mode.

[#61998582]

Signed-off-by: Maria Shaldibina <mariash@pivotallabs.com>
Auto-merge remote-tracking branch 'upstream/master'