Modifications for LDAP to be more configurable.

+ Change the way LDAP groups are checked.  Previously it was searching for
  the group, then looking for the user logging in in the group record's
  "member" attribute.  Now it is searching for the user, then looking for
  the group in the user record's "memberOf" attribute (the actual name is
  configurable).
+ Add configuration items for first name, last name and email attributes.
+ Add configuration items for the format of the RDN used in the bind()
  operation, and the DN and filter used in the search() operation.  These
  configuration items can be built from other configuration items to
  reduce repetition in the configuration.
+ Did some general code cleanup.
Merge pull request #86 from leftclickben/GR355-9756/LDAP

Modifications for LDAP to be more configurable.
Update profile - extend collecting events
* Increase the length of the description attribute
* Add samplingProtocolText
* Remove hasAssociatedMedia attribute - it was based on a field that has since been removed from the core zoology table
* Add number of specimens to collectingEvent
* Add new attributes
 - eventNoteBottom
 - fieldNotes
 - epifauna
 - measurementTemperature
 - measurementSalinity
* UI placements for Collecting Events
 - Preferred Labels - Event Name (no longer Location Remarks)
 - locationRemarks
 - maxDistanceAboveSurface no longer limited to FossilSpecimen
 - fieldNotes
 - eventNoteBottom
 - epifauna
 - behaviour
 - temperature
 - salinity
Merge pull request #87 from kehh/GR355-9591-ZoologyCollectingEventFields

Update profile - extend collecting events