Refactored Future to use shared_ptr.

Replaced manual reference counting with shared_ptr in Future. This
allows us to kill some nasty copy and deallocation functions in Future
(e.g. cleanup, copy).

From: Jie Yu <yujie.jay@gmail.com>
Review: https://reviews.apache.org/r/13602
Create Latch in Future Lazily.

No need to create a latch if we don't call Future.await(). Given that
Future.await() is rare in the code base, we should have a big
performance improvement. I am attaching the experiment results.

From: Jie Yu <yujie.jay@gmail.com>
Review: https://reviews.apache.org/r/15190
Re-deprecated 'webui_hostname' as optional (from required).

We still need to set the 'webui_hostname' field for now in order for
interoperating with code that expects it to be required (e.g., a slave
on an older release). After another deprecation cycle we can either
remove this field entirely or just keep it around as an artifact so
that we don't reuse the ID.

Review: https://reviews.apache.org/r/15214
Fixed the cgroup isolator RSS memory reporting.

Report the number of bytes used by the memory cgroup, and stop
reporting memory with no file backed pages taken into account.

From: Eric Biederman <ebiederm@xmission.com>
Review: https://reviews.apache.org/r/14825
Fixed configure.ac to use $CC instead of 'gcc' for version checking.

This has caused problems in settings where the desired compiler
isn't the system bundled GCC (as in Mac OS X Mavericks builds where
we have been using specific versions of GCC).

Review #14164 is re-enabled for $(CC) instead of 'gcc' and lets us
compile with GCC 4.8 on Mavericks instead of down-grading to 4.7.

From: Niklas Nielsen <nik@qni.dk>
Review: https://reviews.apache.org/r/15193
Preferred ng-show to jQuery for #no-leader-alert.

Mixing jQuery DOM access with Angular creates two locations for state
storage. Always prefer Angular to jQuery for changing the DOM.

* Removed the "Close" button because the alert is not dismissable.

Review: https://reviews.apache.org/r/15154
Fixed a race condition in the Cgroups Isolator.
Removed an incorrect TODO.

Review: https://reviews.apache.org/r/15044
Fixed a pid comparison in the scheduler driver.

Review: https://reviews.apache.org/r/15065
Fixed the flaky ReconcileTasksMissingFromSlave test.

Review: https://reviews.apache.org/r/15254
Added a preliminary Committer's Guide.
Refactored implementation and organization of Python CLI tools.

The initial Python CLI 'mesos-ps' tool used curl in order to make
concurrent HTTP requests. This was a giant hack (one which even
required getting the maximum open file descriptor limit to not
fork/exec too many curl subprocesses). Instead of using curl we know
use futures and threads. The choice to use futures was (a) because it
naturally abstracts what we're trying to do and (b) it's "pro style"
for Python > 3.x. For now, we've implemented the futures interface
minimally to accomplish what we need (see
src/cli/python/mesos/futures.py). In addition, we updated the way
mesos-ps was implemented to leverage the futures API.

To enable sharing of CLI utilities written in Python we've also added
a mechanism for installing Python modules. This will likely change in
the future to use PIP but for now we manually update PYTHONPATH (see
bin/mesos.sh.in and src/cli/mesos.cpp).

Finally, all of the CLI specific Python code has been updated to use
the standard four space indent rather than two.

Review: https://reviews.apache.org/r/15260
Added mesos-cat and mesos-tail.

These are actually slightly improved version of the original shared by
Ben.H at mesos hackathon on Oct.25th 2013.

Modifications I did:
- add python version check
- add quote for query contents
- support to inspect files on completed frameworks/tasks

From: Shingo Omura <everpeace@gmail.com>
Review: https://reviews.apache.org/r/14951
Included mesos-cat and mesos-tail in installation.

Review: https://reviews.apache.org/r/15299
Created 'usage' and moved 'get' helper to cli.py.

Review: https://reviews.apache.org/r/15300
Refactored mesos-cat to use helpers from cli.py.

Review: https://reviews.apache.org/r/15301
Revised os::realpath to return Result for when path does not exist.

Review: https://reviews.apache.org/r/15302
merged mesos-ps' change by Ben.H

removed usage.json usage because the endpoint is deprecated.