This is a clean copy of libevent-2.1.8-stable with the following modifications.

1. Add the following files:

- android/event2/event-config.h
- bsd/event2/event-config.h
- linux/event2/event-config.h
- mac/event2/event-config.h
- evconfig-private.h

These files are taken from libevent-2.1.8-stable built on the development
environment indicated by the first path component. You have to run
"./configure" and "make" to get all of the pre-processing done. The
event-config.h header can then be found in include/event2/ sub-directory and
evconfig-private.h can be found in the root source directory.

You then need to modify the EVENT__SIZEOF_* constants in the generated Linux,
Android, and BSD headers to be appropriate for both 32-bit and 64-bit platforms.
Mac doesn't need this since only 64-bit is supported. Use __LP64__ to
distinguish the two cases. If you get something wrong, the CHECK_EVENT_SIZEOF
static assertions in message_pump_libevent.cc will fail. If a new constant is
added, also add a static assertion for it to message_pump_libevent.cc.

2. Apply the following patches from
ipc/chromium/src/third_party/libevent/patches/:

- "openbsd-no-arc4random_addrandom.patch". Fixes the build on OpenBSD,
  FreeBSD and Android (which don't provide arc4random_addrandom anymore).
  See bug 931354, bug 1259218, bug 1497169.

- "dont-use-issetugid-on-android.patch". Fixes Android startup crashes.
  See bug 1030899.

- "linux-no-sysctl.patch". Fixes the build on Linux systems without sysctl.h.
  See bug 1263429.

- "android-api-level.patch". Fixes the build under clang or NDK r16.
  See bug 1281596, bug 1282141, and bug 1428182.
