retry to retrieve metadata on failure during pull

This makes Docker retry to retrieve the JSON metadata for the layers.
Docker will make 5 attempts to retrieve the metadata before failing and
it will increase the delay between attempts after each failed attempt.

This is a backport of PR #4387. The following changes had to be made:
-				img     *image.Image
+				img     *Image

-				img, err = image.NewImgJSON(imgJSON)
+				img, err = NewImgJSON(imgJSON)

Docker-DCO-1.1-Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com> (github: unclejack)
Only unshare the mount namespace for execin

Fixes #4728
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)

Conflicts:
	pkg/libcontainer/nsinit/execin.go:
	  ns.logger.Println("unshare namespaces")' was removed already
Use BSD raw mode on darwin. Fixes nano, tmux and others

Docker-DCO-1.1-Signed-off-by: Guillaume J. Charmes <guillaume@charmes.net> (github: creack)

Conflicts:
	pkg/term/termios_freebsd.go:
	  removed changes for this file because it's not present
Bump to version v0.9.1

Docker-DCO-1.1-Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com> (github: unclejack)