ISSUE: GetGroups when passed a Group as an argument returned a list of incomplete Group objects that did not have all their fields populated for example UserNames is null for all of
the groups returned.
CHANGE: Add GetGroupsEx to use GetGroup to populate the Group list since it sets all properties of the object.
ISSUE: Incomplete Groups retrieved by GetGroups when used to update the server would nullify group properties on the server
CHANGE: Added boolean IsUpdateSafe property to Group class that will be true when a Group is constructed with all of its properties and false when constructed with only the Id and default null properties.