Add validation of VolumeMounts

I read this in one of the go blogs or docs or something.  ranging over structs always makes a copy of the struct, even if you do not modify it.  Do not count on the compiler to elide that copy.  The suggested solution was to never for-each over structs unless you know they will be small.

This bit us hard in internal code where things like the commandline ended up being hundreds of KB or more.

That stuck with me, and I adopted this syntax instead.  I'll switch it back, if you want.  I know I am but a cub in the Go world.   Thi sjust feels like a premature pessimization that the language has not figured out how to avoid.