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.

TearDown() should theoretically be called when a pod is terminated/deleted. I couldn't find an easy way to include that in the current code-base. I left it out since it is not required for HostDirectory mounts, but is definitely necessary for any other volume.