/*
 * call-seq:
 *    Group.new
 *    Group.new{ |user| ... }
 *
 * Creates and returns a Group object, which encapsulates the information
 * typically found within an /etc/group entry, i.e. a struct group.
 *
 * If a block is provided, yields the object back to the block.
 */
static VALUE group_init(VALUE self){