Use ChildProcessTerminationInfo more widely

Use ChildProcessTerminationInfo in these content APIs:
* BrowserChildProcessObserver::BrowserChildProcessCrashed/Killed
* NOTIFICATION_RENDERER_PROCESS_CLOSED (instead of
  RendererClosedDetails)
* RenderProcessHostObserver::RenderProcessExited

On desktop platforms, ChildProcessTerminationInfo replaces
base::TerminationStatus and exit_code. On Android,
ChildProcessTerminationInfo also contains two additional fields, since
"child" process launching is fairly different on Android.

There is one non-refactor change:
RenderProcessHostImpl::Cleanup now calls
ChildProcessLauncher::GetTerminationStatus.
On Android, this is important to populate the Android-only fields.
And for all platforms, this has the side effect of closing the
base::Process earlier, which is visible through
RenderProcessHost::GetProcess.

Everything else is a pure refactor.

chromecast/ review tbr
[email protected]

Bug: 693484
Change-Id: I64d40b19797483918d9777352fd9c4eec4e398f9
Reviewed-on: https://chromium-review.googlesource.com/1017386
Commit-Queue: Bo <[email protected]>
Reviewed-by: Lei Zhang <[email protected]>
Reviewed-by: Ken Rockot <[email protected]>
Reviewed-by: Alexander Timin <[email protected]>
Reviewed-by: Alex Moshchuk <[email protected]>
Reviewed-by: Dmitry Gozman <[email protected]>
Reviewed-by: Ɓukasz Anforowicz <[email protected]>
Cr-Commit-Position: refs/heads/master@{#553367}
58 files changed