Add setup.php.* to .gitignore so backups are not committed.
Profile update 2014-08-08.

+ Rename "Ornithology (Birds)" to "Ornithology"
+ Changes to `<setting name="requireValue">` seems to be code changes in providence, default is now 0
  so a value of 0 doesn't have to be explicitly included in profile, but a value of 1 does.
+ The `recordNumber` element now has a restriction for Terrestrial Zoology objects.
+ Added `list` attribute to `samplingProtocol` container element.
+ The `samplingProtocol` element now has a restriction for Terrestrial Zoology objects.
+ Rename "Event Date" and "Event Time" for better readability.
+ The `eventDate` and `eventTime` elements now have restrictions for Terrestrial Zoology objects.
+ The `habitat` element now has a restriction for Terrestrial Zoology objects.
+ Rename "Event Remarks" for better readability.
+ The `eventRemarks` element now has a restriction for Terrestrial Zoology objects.
+ The `distanceFromLocality` element now has a restriction for Terrestrial Zoology objects.
+ The `number_of_specimens` element now has a restriction for Terrestrial Zoology objects.
+ Added `on_loan` yes/no attribute for objects of type `insect`.
+ Added habitat field to display template for occurrences associated with TZ objects.
+ Make associated specimen field on TZ object editor General tab read only.
+ Rename screen for `darwincore_relationships`.
+ Improve display template for Storage Locations on TZ objects.
+ Add `on_loan` element to TZ object editor screen.
+ Add Locality screen to TZ object editor.
+ Make Places on General tab of Anthropology editor read only.
+ Remove Storage Locations from General tab of Anthropology editor.
+ Improve display template and relationship type restriction for Places on Anthropology editor.
+ Improve display template for Object Use History on Anthropology editor.
+ Make `ca_attribute_lithostratigraphic_provenance` element readonly.
Merge pull request #93 from leftclickben/ProfileUpdate20140808

Profile update20140808
Clean up custom extension class.

* Remove redundant redefined constructor and private attributes.
* Remove redundant `implements` which is implicit with given `extends`.
* Remove unused `require`s.
* Add documentation for `getIndexValues` method.
* Add guard against empty separators in `getIndexValues` method.
Convert indent to tabs (fix IDE setting).
WIP: Changes to support empty separators in multipart ID generators.

+ Create `explodeValue` method, which handles all separation of strings into the
  multipart value in a consistent manner.
+ Change all uses of base `explode` and related branching pattern into calls to
  `explodeValue` method.
+ Add missing local array variable declaration in `getNextValue` method.
+ Remove redundant explicit `implements` which is implicit through given `extends`.
+ Remove unused variables.
+ Fix error with undefined constant in `htmlFormValuesAsArray`.
+ Fix invalid HTML output (`SELECTED="SELECTED"` is valid).
+ Replace `$a ? $a : $b` form with `$a ?: $b` shorthand.
+ General code cleanup.
WIP: Changes to support empty separators in multipart ID generators.

+ Refactor `explodeValue` for readability.
+ Enhance `explodeValue` to handle LIST elements correctly.
Support empty separators in multipart ID generators.

+ Enhance `explodeValue` to handle all element types.
+ Change `width` configuration setting to secondary after determined width
  based on type.
Fix invalid HTML attribute value.
Use multibyte mb_strlen().

+ Also change HTML attributes to lower case.
Add missing `value` attribute.
Support empty list value.

+ This works around an issue with empty strings in the configuration,
  by allowing a list value consisting of only whitespace (e.g. " ") to
  be considered equal to an empty string.  This allows a list-type
  element to be "optional" by providing an empty value.
Allow configured users to be authenticated locally

+ Create `isExplicitLocalUser` method, which checks configuration
  and returns true if the given username is listed under the
  `local_users` key.
+ Use `isExplicitLocalUser` to provide overrides to LDAP and ExtDB
  authentication methods.
+ Give a variable type to `$opo_auth_config` for IDE hinting.
Fix warning about incorrect array type.
Merge pull request #97 from leftclickben/FixNotAnArrayWarning

Fix warning about incorrect array type.
Merge pull request #95 from leftclickben/GR355-9773/NonDelimitedMultipartIdGenerator

GR355-9773: Non-delimited multipart ID generator
Merge pull request #96 from leftclickben/GR355-9797/AllowExplicitLocalUsers

Allow configured users to be authenticated locally