[MESOS-1212]: Use maven to compile and package Mesos' Java files.

The Mesos Jar files are now generated through Maven. This update also
adds a _shaded protobuf jar_ that contains the _protobuf_ version _shaded_
inside the `org.apache.mesos.protobuf` namespace.

List of Java Artifacts.

* mesos-<Mesos Version>-javadoc.jar
* mesos-<Mesos Version>-shaded-protobuf.jar
* mesos-<Mesos Version>-sources.jar
* mesos-<Mesos Version>.jar

Where `mesos-<Mesos Version>-shaded-protobuf.jar` will be the dependency
that a _framework_ should use to avoid any conflicts of _protobuf_
versions that it might have with other _dependencies_. Not that
`shaded-protobuf` is the _dependency qualifier_.

Applied patch from:
    https://reviews.apache.org/r/20402/

ticket : https://issues.apache.org/jira/browse/MESOS-1212
[MESOS-1212]: Use maven to package Mesos' Java files

Ported to Mesos 0.16.0 patch from:
   https://reviews.apache.org/r/20402/diff/raw/

[ticket: MESOS-1212]: https://issues.apache.org/jira/browse/MESOS-1212

Author      : guenter
Reviewer    : benh, pwendell
Testing     : berngp
[MESOS-1212]: You can now specify MAVEN_HOME

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`.
[MESOS-?]: Fixing Javadocs so the build doesn't fail in Maven.

The Maven _package_ task will depends on the _javadoc_ task. The
_javadoc_ task fails if there are _Classes_ which expose _public_ fields
or methods without proper _Java Documentation_. Note that my proper I am
referring to the structure validation that _Javadoc_ executes and not a
proper narrative of such documentation.

This change addresses the issues that caused failures on the Maven
Javadoc plugin while attempting to add meaningful content to such
documentation.