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 doesn't ever seem to be called. I wouldn't block this PR on that, though, since I don't think we have any garbarge collection at all. Maybe file an issue?