libsysutils: Add iovec/runOnEachSocket

SocketClient:
* Replace sendDataLocked with sendDataLockedv which takes an iovec.
* Add a version of sendData, sendDatav, which takes an iovec.
* do not preserve iovec content through sendDatav

SocketListener:
* Add runOnEachSocket, which allows to to specify a SocketClientCommand to
  run individually on each socket. This allows you to do broadcast-like
  actions customized for each individual socket.
* Client safe list reference counting for sendBroadcast & runOnEach Socket

(cherry picked from commit a6e965578e44f8ae5f98de822ba5decec381d5fc)

Signed-off-by: Nick Kralevich <nnk@google.com>
Signed-off-by: Mark Salyzyn <salyzyn@google.com>

Change-Id: I716f89c01b4cb7af900045c7e41fac1492defb06
(cherry picked from commit 67c75e57ab6d1eb983fb6d6b7bf7d7500dadf4e6)
libsysutils: Get rid of warnings

- UNUSED argument warnings
- Remove LOG_NDEBUG define

(cherry picked from commit 696f267ff5a1e6227c2f5784dae60c190e0228b8)

Change-Id: I48b0942adfdb7a46a7693e580bc6ed5a685b0d5b
(cherry picked from commit a66bcddec39f5676ff09df14d10b22b55ce589b7)
libsysutils: SocketListener export release

* Foreground thread (legacy) closes connection by
  reporting false return value for onDataAvailable.
* Background thread can choose instead to close the
  connection asynchronously by calling release, must
  return true for the onDataAvailable method.

(cherry picked from commit d7ad4e409eaac53db3a9789060097b712850b337)

Change-Id: I70ab37d5c22b02804aa3b4dfb26cc9b75291f8b6
(cherry picked from commit ff465acd946d58a9624459f38bddfd6c38b5089b)
libsysutil: frequent native crash /system/bin/vold

regression from commit a6e965578e44f9ae5f98de822ba5decec381dffc

* wrap writev with sigaction SIG_IGN SIGPIPE to emulate the
  send(,,,MSG_NOSIGNAL) call it had replaced.

(cherry pick from commit 83fc720785c4e40f3341daf7c0bf5ee99261fee9)

BUG: 12796279
Change-Id: I14363630ada79c0a5b85bb6b2afd0a1c4d5c3109
(cherry picked from commit 89c1f3717b9e94269fb3029dd840ae775b763a50)