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
Simplified os::hostname() in libstout.

Review: https://reviews.apache.org/r/11108
Shuffle offers before sending to frameworks.

This helps ensure fair allocation of resources.

Review: https://reviews.apache.org/r/11121
Added --enable-debug configure flag.

Review: https://reviews.apache.org/r/11605
Slave ping timeout may be increased by flags.

Review: https://reviews.apache.org/r/12885
Turned down noise from ZooKeeper.

Review: https://reviews.apache.org/r/11127
Use hostname instead of IP for redirection.

In the Web UI, the redirection does not work for hosts where the local
interface address is not publicly accessible.  For example, with EC2 the
redirection will not work.

This change writes the Master's hostname into ZooKeeper, thereby
allowing the redirection to work with private IP addresses.

Review: https://reviews.apache.org/r/11975/
On recovery fail, do rm -rf /tmp/mesos/meta.
Use libstout cache for slave completedFrameworks.

The list of retired (completed) frameworks is now a stout cache rather
than a boost circular buffer.  There are now key iterator accessors for
the cache class, and a removal member.

Review: https://reviews.apache.org/r/13599
Added a slave load hint for scheduler sorting.

With this change, the offers will include a slave load hint based on the
5 minute load average for that slave (returned from getloadavg()).
Frameworks can use this hint to select among otherwise similar offers,
as an optimization.

Review: https://reviews.apache.org/r/13675
Increase web UI reload delay.
Added list of TaskStatuses to Task message.

Task now includes repeated task status with timestamps.  This permits
caltulating the start/finish time for tasks (among other things).

To support this, a timestamp was added to the TaskStatus message which
is also passed to frameworks when there are state transitions.

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