New "--family" option for the *alternatives* utility
This update introduces the new "--family" option for the *alternatives* utility. The software packager can use this option to group similar alternative packages from the same group into families. Families inside groups ensure that if the currently used alternative is removed, and it belonged to a family, then the current alternative will change to package with the highest priority within the same family, and not outside the family.
For example, a system has four packages installed in the same *alternatives* group: _a1_, _a2_, _a3_, _b_ (listed in increasing priority). Packages _a1_, _a2_, and _a3_ belong to the same family. _a1_ is the currently used alternative. If _a1_ is removed, then the currently used alternative will change to _a3_. It will not be _b_, because _b_ is outside the family of _a1_, and it will not be _a2_, because _a2_ has lower priority than _a3_.
This option is useful when just setting priorities for each alternative is not enough. For example, all _openjdk_ packages can be put into the same family to ensure that if one of them is uninstalled, the alternative will switch to another _openjdk_ package, and not to the _java-1.7.0-oracle_ package (if another _openjdk_ package is installed).