Directory variables should be nil if invalid.
Add support for volume set groups.

This adds support for setting volume set groups which are groups of
properties that are set all at once on a volume. This is managed in a
clever way, so that if the definition of what a certain group contains
gets updated by the package manager, your volumes will get updated too,
on the next puppet run.
Small fixes to avoid warnings.