VolumeFactory min/max can be scalar as impl. list.

If one of the min or max list passed to VolumeFactory functions is a scalar
and the other is a list, it is assumed that the user intended the scalar to
be extended to a list with that same scalar value for all entries.

This commit also includes more tests and more documentation.