New method setRequiredAttributes for member, resource, facility, user

- this variant get list of attributes and set these attributes by this
  process:

  1] Get all attrs from arrayList
  2] Fill attributes and store those which were really filled.
    (value changed)
  3] Set filled attributes.
  4] Refresh value in all virtual attributes.
  5] Check all attributes and their dependencies.
doTheMagic use new workflow with required attrs

New workflow use setRequiredAttributes method. It fills attributes, then
set only filled ones, get actual value of virtual attrs and finally
check everything.
Merge pull request #472 from licehammer/doTheMagicFix

doTheMagic fix