Split out subprocess logic from http serving logic

Telemetry had two classes that were tightly linked: TemporaryHTTPServer and
MemoryCacheHTTPServer. Before this patch. TemporaryHTTPServer's job was to
spawn a child process and then launch in that child process the
MemoryCacheHTTPServer, scrape its serving port, and then establish port
forwarding between the browser and that port.

This refactors this slightly:
- TemporaryServer takes on the job of staritng a subprocess inside of which
  a server will be launched, plus the logic for matchmaking to that child
  process' selected serving port.
- The portions specific to what the child process actually does on that port
  are abstracted behind TemporaryServerBackend class.
- MemoryCacheHTTPServer is rephrased in terms of a TemporaryServer and
  TemporaryServerBackend.

R=tonyg

Review URL: https://codereview.chromium.org/148583014

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@247777 0039d316-1c4b-4281-b951-d872f2087c98
SVN changes up to revision 247777
Add OWNERS to apps/shell

BUG=none
TEST=none
R=yoz@chromium.org

Review URL: https://codereview.chromium.org/149883002

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@247778 0039d316-1c4b-4281-b951-d872f2087c98
SVN changes up to revision 247778