Docker create (rebase of 6907)

Closes #6907

Ping @vieux @unclejack @crosbymichael
@crosbymichael I'm not sure what you mean by that, but basically, "create" will set the hostconfig in `createContainer`, but "run" will set it in `srv.ContainerStart`. In that regard, it (should) work just like before.
We basically create a HostConfig field in Config, that we check for to know if we have to set the hostconfig early on.