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.