Add per volume support for brick chaining.

* Don't use this feature unless you _really_ know what you're doing.
* Managing chained volumes is much harder than managing normal ones.
* If some of the volumes in the cluster use this, and others don't, then
you'll probably have an even crazier time with management.
* Please verify my algorithm and feel free to suggest changes.
* Some edge cases haven't been tested.
* This patch breaks out brick layout ordering into individual functions.
Fix small bugs for setgroups.
Plug in volume layout and setgroups into vagrant.

This makes it easier to test and try out these features!
Silence unnecessary warnings if we know they're unnecessary.