Fix problems encountered in testing CSAM

* Refactor MCommGroup.fetch(), mainly to reduce nesting.

* LDAP attributes are not case sensitive, but we were doing a
  case-sensitive check for the umichGroup object class.

* Centralize defaulting of list attrs to []; the old code was both
  overly duplicated and failed to account for some situations.
1 job for bugfixes in 25 seconds