Volume namespaces - fixes 771

Fixes #771.

Some temporary code is in place so this doesn't break the rest of the system.
I haven't finished reading the branch, but so far I don't get why we need the `_to_volume_name` function. Why not instantiate `VolumeName` directly instead and have `default` be the default value of `VolumeName.namespace` ?