Query nodes for the number of groups supported. This Fixes #1452.

I would like @cdjackson  to sign off on this one before it gets merged please.  The zwave  binding queries devices for groups until the device reports back that a group has zero max associations.   Some devices like the Honeywell TH8320ZW thermostat simply do not reply at all when queried on a non existent group.  This change queries the node for the number of groups first, then queries each one.  I checked with the open zwave code,  and while they have logic to do it both ways,  afaik, only this way is actually used.  
Why omit this member from the XML?
Given that the number of associations don't change, this should I think be saved into the XML and then we could avoid doing the 'get groupings report' if the value isn't 0.