VOL-546 Add support for proxy servers in build

- Propagate proxy environment variables into docker builds
- Generate mvn settings.xml based on proxy env vars and allow custom xml
- Update to latest docker installation within go-lang docker image (to avoid apt-key proxy issue)
- Allow additional parameters with DOCKER_BUILD_EXTRA_ARGS, for example --no-cache, --pull
- Also fixes 'overriding recipe for target' for voltha target

Change-Id: Ifa545a0262ecfe434ad230ddab4f61935c7244e0
diff --git a/envoy/go/envoyd/build_binary.sh b/envoy/go/envoyd/build_binary.sh
index 1772809..037ebd8 100755
--- a/envoy/go/envoyd/build_binary.sh
+++ b/envoy/go/envoyd/build_binary.sh
@@ -2,7 +2,7 @@
 
 rm -fr buildreport
 rm -f envoyd
-docker run -v $(pwd):/src go-builder
+docker run -e "http_proxy=$http_proxy" -e "https_proxy=$https_proxy" -v $(pwd):/src go-builder
 #/build.sh
 uid=`id -u`
 gid=`id -g`
diff --git a/envoy/go/golang-builder/Dockerfile b/envoy/go/golang-builder/Dockerfile
index 47765fe..0b6648c 100644
--- a/envoy/go/golang-builder/Dockerfile
+++ b/envoy/go/golang-builder/Dockerfile
@@ -1,12 +1,12 @@
 FROM golang:1.9.2
 MAINTAINER Alex Peters <info@alexanderpeters.de>
 
-RUN apt-get update && apt-get install -y apt-transport-https ca-certificates jq
+RUN apt-get update && apt-get install -y apt-transport-https ca-certificates jq curl gnupg2 software-properties-common
 
-RUN echo "deb https://apt.dockerproject.org/repo debian-jessie main" > /etc/apt/sources.list.d/docker.list
-RUN apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D
+RUN curl -fsSL https://download.docker.com/linux/$(. /etc/os-release; echo "$ID")/gpg | apt-key add -
+RUN add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/$(. /etc/os-release; echo "$ID") $(lsb_release -cs) stable"
 
-RUN apt-get update && apt-cache policy docker-engine && apt-get install -y upx-ucl docker-engine && apt-get clean
+RUN apt-get update && apt-cache policy docker-ce && apt-get install -y upx-ucl docker-ce && apt-get clean
 
 RUN go get github.com/pwaller/goupx \
 	&& go get golang.org/x/tools/cmd/cover \