Initial framework for external volumes. 

Lays the framework for external volume mounts, preparing for 
persistent disks and other volumes.

Currently, it only supports host directory mounts.

Modifies the API to support host directory mounts from Volumes
instead of VolumeMounts.

Right, the implementors will determine where the volume is unpacked. For host directories this is not required since it is assumed the directory is already there, but the plan is for volume types to have base directories (/mnt/git, /mnt/pd, etc) and can build unique directory paths based on the name of the volume (and perhaps the ID of the pod as well to ensure no conflicts). We don't want the API/user to worry about the internal directory structure of a kubelet except for host directory mounts, which are a special case.