Add a flag to prevent pants scratch file cleanup.

Really useful when debugging pants.

Auditors: pl
Fix zinc analysis split implementation.

This was the source of some (maybe all) our bad invalidation bugs:

When splitting an analysis file, some internal deps become external deps
(that is, deps that cross analysis file boundaries).

In such cases, each of the split analysis files must have a copy
of that external dep's API. We weren't properly creating those copies.

Auditors: pl
Merge branch 'master' into jsirois/sync/pants-1