disallow / as source for bind mount in the cli

This makes the docker cli reject docker run commands which include bind
mounts like "/:/some/path/in/the/container".
Bind mounting the root directory is a bad idea and the cli should throw
an error right away.

The same check will also be made by the remote API via another commit.
add test to ensure / can't be bind mounted

This adds a test which checks that we're erroring out when we attempt
to bind mount root in a container.
validate bind mounts on the server side

This changes the server side code to make sure that:
1) the source of a bind mount isn't /
   The bind mount "/:/foo" isn't allowed.
2) Check that the source exists
   The source to be bind mounted must exist.

This fixes issue #2070.
test: error out when bind mount source doesn't exist

This adds a test to verify that the server is checking whether the path
to be bind mounted actually exists on the server.