Fixed the bug in validating duplicated task ID and added a test.

Review: https://reviews.apache.org/r/27903
Replaced Timer::create/cancel with Clock::timer/cancel.

Review: https://reviews.apache.org/r/27496
Updates to Mesos for Timer::create/cancel -> Clock::timer/cancel.

Review: https://reviews.apache.org/r/27497
Abstract clock internals from ProcessManager::settle.

Review: https://reviews.apache.org/r/27498
Introduced a callback for timer expiration.

This enables seperating the Clock specific functionality from the
ProcessManager functionality so that the Clock implementation can
ultimately be completely isolated.

Review: https://reviews.apache.org/r/27499
Removed redundant synchronization and conditional check.

Review: https://reviews.apache.org/r/27500
Simplified redundant Clock::order/update usage.

Review: https://reviews.apache.org/r/27501
Introduced a libev async watcher specifically for updating timers.

Review: https://reviews.apache.org/r/27502
Moved Clock implementation into clock.cpp.

Review: https://reviews.apache.org/r/27503
Started moving libev specific functionality out of process.cpp.

Review: https://reviews.apache.org/r/27504
Moved event loop specific polling into poll.cpp.

Review: https://reviews.apache.org/r/27505
Moved process::io::* into io.cpp.

Review: https://reviews.apache.org/r/27506
Used io::poll instead of libev for recv_data.

Review: https://reviews.apache.org/r/27507
Used io::poll instead of libev for ignore_data.

Review: https://reviews.apache.org/r/27508
Used io::poll instead of libev for receiving_connect.

Review: https://reviews.apache.org/r/27509
Used io::poll instead of libev for send*.

Updated sending_connect, send_data, and send_file.

Review: https://reviews.apache.org/r/27510
Replaced circular include dependency w/ TODO.

Review: https://reviews.apache.org/r/28061
Fix race condition in process.cpp.

Fix race condition between encoder creation and io::poll in
SocketManager::Send(Message).

Review: https://reviews.apache.org/r/27956
Introduce std::make_shared configure check in libprocess.

Review: https://reviews.apache.org/r/27920
Introduce std::make_shared configure check.

Review: https://reviews.apache.org/r/27921