[MESOS-1261]: Porting Protobuf shading to 0.17.x

This commit merges:

[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`.

ticket: https://issues.apache.org/jira/browse/MESOS-1252

Fixed distclean break during maven clean up.

The pom file gets cleaned up before clean-java runs, which calls maven
and fails. Solution is to just remove the target dir, which is what
maven does as well.

[PATCH] [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.

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