Introduce libevent header and implementation.

Review: https://reviews.apache.org/r/28321
Add construction and conversion from / to timeval for Duration.

Review: https://reviews.apache.org/r/29226
Introduce libevent clock implementation.

Review: https://reviews.apache.org/r/28322
Introduce libevent poll implementation.

Review: https://reviews.apache.org/r/28323
Move poll based socket implementation into poll_socket.cpp.

Review: https://reviews.apache.org/r/28467
Add a factory pattern to allow construction of different implementations of the socket interface. Remove default constructor from Socket.

Review: https://reviews.apache.org/r/28670
Virtualize Socket Implementation interface.

Review: https://reviews.apache.org/r/28671
Add configure flag for libevent socket implementation.

Review: https://reviews.apache.org/r/28672
Introduce libevent socket.

Review: https://reviews.apache.org/r/28673
Add configure flag to enable SSL.

Review: https://reviews.apache.org/r/28763
Introduce libevent ssl socket.
Merge branch 'libevent' into ssl

Conflicts:
	3rdparty/libprocess/src/libevent.cpp
	3rdparty/libprocess/src/libevent_ssl_socket.cpp