Revert "Revert 235213 "android: forwader2: Simplify Forwarder implementa...""

This relands digit@'s CL that completely reworks the traffic forwarding logic
and that should guarantee in particular that select() never blocks without a
good reason (i.e. that we are not leaking Forwarder instances due to the fact
that their internal thread would be blocked on select()).

The initial problem with r235213 was only the use of PipeNotifier which added
two file descriptors for each Forwarder instance (in addition to the two
sockets the Forwarder instance operates on). We were exceeding the file
descriptor limit (1024) on the intl_ko_th_vi Telemetry page set which is not
surprising since Chrome easily keeps 256 sockets around in its socket pool.
Therefore this change simply removes the PipeNotifier since we were not (yet)
using it anyway.

The initial problem was reproduced and the fix was tested as well with:
tools/perf/run_measurement -v --browser=android-chromium-testshell \
    --show-stdout page_cycler tools/perf/page_sets/intl_ko_th_vi.json

Note that a next step would be to have all the Forwarder instances operate on a
common thread owned by DeviceListener so that we don't end up with 256 threads.

BUG=332403

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

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