Added External Containerizer.

This patch adds the so-called external containerizer. This
containerizer delegates all containerizer calls directly to
an external containerizer program (which can be specified on
start-up).

The protocol for the interactions with the external program
is as follows:

COMMAND < INPUT-PROTO > RESULT-PROTO

launch < Launch
update < Update
usage < Usage > ResourceStatistics
wait < Wait > Termination
destroy < Destroy

When protocol buffers need to be provided, the Mesos side of
the external containerizer implementation will serialize the
protos on stdin and vice-versa for reading protos on stdout as
drafted in the above scheme.

Review: https://reviews.apache.org/r/17567
Updated CHANGELOG for 0.18.1-rc2.
Fixed distcheck failure due to test_containerizer.py missing in
EXTRA_DIST.

Review: https://reviews.apache.org/r/20784
Added count to metric statistics.

Review: https://reviews.apache.org/r/20733
[MESOS-1252]: Support ENV MAVEN_HOME on the build.

The build now supports the `MAVEN_HOME` environment variable which is
used to resolve the `mvn` executable. If no `MAVEN_HOME` is specified
we will use the one available in the `PATH`.

Review: https://reviews.apache.org/r/20750
[MESOS-1259]: Enrich the Java Docs in the src/java files.

The Maven _package_ task will depends on the _javadoc:javadoc_ task. The
_javadoc_ task fails if there are _Classes_ which expose _public_ fields
or methods without proper _Java Documentation_. Note that by proper I am
referring to the structure that is validated by the _Javadoc Tool_.

In addition such documentation should facilitate the development of Java
based frameworks.