Applying Jörg Gottschling's patch from LANG-358 with Thomas Menzel's naming from LANG-550 and some of his tests. This adds a firstNonNull method to ObjectUtils.