Created a Result(Try&) constructor for Result<T>.

Try<T> doesn't have a default constructor and so it's not possible to
have a Try<T> class member variable  unless we initialize it with
Error().

With this patch, we can instead have a Result<T> class member variable
which is initialized to None() and can be assigned a Try<T> type.

Review: https://reviews.apache.org/r/26955
Added functions to manipulate LD_LIBRARY_PATH to os::libraries.

Also added a utility function to expand a library name to a filename
by prefixing "lib" and adding the default extension.

Review: https://reviews.apache.org/r/26903
Replaced ModuleManager::expandLibraryName with os::libraries::expandName.

Review: https://reviews.apache.org/r/26904
Added setup/teardown for module API tests.

During the one-time setup of the test cases, we do the following:
1. set LD_LIBRARY_PATH to also point to the src/.libs directory.
   The original LD_LIBRARY_PATH is restored at the end of all tests.
2. dlopen() examplemodule library and retrieve the pointer to
   ModuleBase for the test module.  This pointer is later used to
   reset the Mesos and module API versions during per-test teardown.

During the tear-down after each test, we unload the module to allow
later loads to succeed.

Review: https://reviews.apache.org/r/26855
Fixed flaky SlaveTest.KillTaskBetweenRunTaskParts test.

Moving EXPECT_CALL(removeFramework) before killTask() removes a race,
which made the expected call occur before it is expected.

Review: https://reviews.apache.org/r/26929
Split authorization from task validation.

Review: https://reviews.apache.org/r/26817
Add dispatch event counters to Scheduler driver

Review: https://reviews.apache.org/r/26951
Added a document for reconciliation.

Review: https://reviews.apache.org/r/26669
Added reconciliation to the documentation home.

Review: https://reviews.apache.org/r/26670
Updated status update manager to forward updates via slave.

Review: https://reviews.apache.org/r/26846
Added pause() and resume() to status update manager.

Review: https://reviews.apache.org/r/26957
Updated slave re-registration to send unacknowledged task states.

Review: https://reviews.apache.org/r/26699
Updated slave to include latest task state in update.

Review: https://reviews.apache.org/r/26700
Updated master to update task unacknowledged state properly.

Review: https://reviews.apache.org/r/26701
Updated reconciliation semantics to take the task's unacknowledged state into account.

Review: https://reviews.apache.org/r/26702
Created mesos::modules namespace for all module related code.

Review: https://reviews.apache.org/r/27020
Checking "kind" before creating a module instance.

Introduced a new kind<T>() function that returns the string
representation of the module "kind". This function is specialized for
each module "kind". Also introduced a templatized
contains<T>(moduleName) that returns true only if a module of name
"moduleName" and kind "T" is available.

Review: https://reviews.apache.org/r/26906
Added sample isolator module.

Created CPU and Memory isolation modules based on Posix CPU/Memory
Isolators. These modules are also hooked up to the relevant Isolator
tests using the typed test mechanism. It also paves the way for future
integration with custom modules specified on the command line.

Review: https://reviews.apache.org/r/26071
Fixed race condition in Latch.

There is a race condition in Latch. The same pid can be terminated by
2 seperate threads simultaneously.

Review: https://reviews.apache.org/r/26783
Use RBT by default and correctly determine if version is >= 0.6

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