RobotHWGroup Implementation

I have implemented a RobotHWGroup which seems to match the spec we have been discussing.  Currently, it doesn't support multiple identical interfaces across different RobotHW.  It returns first the locally registered interface, or then one of the interfaces in one of the RobotHW, ordered by when each was registered.