New behavior for setting required attributes

- add method setRequiredAttributes(member, resource)
- add metod fillAttributes(facility, resource, user, member) with returnOnlyFilledAttributes
 which return only those attributes which were filled
- add simple test of function

INFO:
This is needed because of problem with setting values to virtual
attributes. Before this commit, setting to virtual attribute can change
value in physical attribute.

Behavior now:
1] Get all required attributes
2] Fill all possible attributes
3] For those attribute with changed value by filling do
"setWithoutCheck"
4] Refresh values for all attributes (especialy for virtual)
5] check all these attributes
6] check dependencies for these attributes
Preferred primary Unix GID workflow

- create new methods
 - checkListOfGIDIsWithinRange in ModulesUtilsBl

- new modules:
 - U:D:preferredUnixGroupName_namespace
 - UF:V:defaultUnixGID
 - UF:D:basicDefaultGID - used in UF:V:defaultUnixGID getAttributeValue
   method
 - UF:V:preferredUnixGroupName

- changes in modules:
 - UF:D:defaultUnixGID - use now for predefine specific unix GID on
   specific Facility

- create test for:
 - module UF:V:defaultUnixGID
 - module UF:D:basicDefaultGID

----------------------------------------------------------
NEED TO DO AFTER MERGE THIS COMMIT:

 1] CREATE NEW ATTR_DEFs:
  - UF:def:basicDefaultGID (R: anyone, W: FACILITY)
  - U:def:preferredUnixGroupName-namespace:*
   (*=cerit,egi-ui,einfra,sitola,storage) (R: anyone, W: SELF)
  - UF:virt:defaultUnixGID (R: anyone, W: FACILITY)
  - UF:virt:preferredUnixGroupName (R: anyone, W:SELF)

 2] COPY value in DB
  - from def:defaultUnixGID (user_facility_attrs) to
   def:basicDefaultGID
  - use this sql:
   "insert into user_facility_attr_values
   (user_id, facility_id, attr_id, attr_value, created_at,
   created_by, modified_at, modified_by, status, attr_value_text,
   created_by_uid, modified_by_uid)
   select user_id, facility_id, X as attr_id, attr_value,
   created_at, created_by, modified_at, modified_by, status,
   attr_value_text, created_by_uid, modified_by_uid
   from user_facility_attr_values
   where attr_id=Y"
    - where X = id of UF:def:basicDefaultGID attr,
     and Y = id of UF:def:defaultUnixGID attr

  3] REMOVE attr value in DB
   - for attr UF:def:defaultUnixGID by sql:
    "delete from user_facility_attr_values where attr_id=X"
     - where X = id of UF:def:defaultUnixGID attr

  4] INCREASE DB-version

  5] ADD THESE info to the changelog and dbchangelog
Preferred primary Unix GID workflow - services

Change UF:D:defaultUnixGID to UF:V:defaultUnixGID
Merge: Preferred primary Unix GID workflow