Fix #7792 - Order mounts

Previously we were just mounting by ranging over `container.Volumes`
This, as it turned out, seemed to be mostly ok in go 1.2, if not improper.
However, in go 1.3 maps are now forcibly randomized, which caused mounts to be setup in random order, which can cause mount paths to over-write previous mounts, for example:
```
touch /tmp/foo
mkdir /bar
touch /bar/baz
docker run -v /tmp:/tmp -v /bar:/tmp/bar busbybox ls /tmp/bar/baz && ls /tmp/foo
```

The test case can be difficult since it is not guaranteed to fail (do to randomness) without sorting, though with the quantity of mounts, it should be highly likely to fail.