Define hardware tree iteration order
The initial revision of the hardware tree core classes (#40 (closed)) will not have an enforced iteration order. There is however a general consensus that iteration order should be predictable. There will be two levels of sorting: between types and within types. So one can have
gbt gbt vfat vfat vfat but not
gbt vfat vfat gbt vfat.
The order needs be defined and the core classes need be modified to enforce it.