Expose a large number of ports should not slow down builder

Related to https://github.com/docker/docker/issues/9021

This improves the behavior of builder when handling a (large) list of ports by preallocating some data when possible. It improves the build speed of https://gist.github.com/karalabe/451f01479f8848973331#file-dockerfile from 20+ seconds to a few seconds on my machine

`EXPOSE` order now will also be more resistant to change as we sort the ports before saving them as image's config.

cc @erikh 
Just idea: probably `portList := make([]string, 0, len(ports))` and `append` allow you to drop `i` var and have same performance, but I'm not sure.