always merge settings if 1st parameter is an array
adds the possibility of recursive merging
added test
added recursive setting tests
Clarify apache setup

Adds in a hint for the Apache AllowOverride setup to permit the .htaccess rules to rewrite incoming requests
Duplicate changes provided by jamesmcfadden for develop branch #771 #765
Let \Slim\Http\Util parse cookie values that contain an equal sign. See #774
Fix resolving X-Forwarded-For header

This fixes X-Forwarded-For resolving (HTTP_ prefix). This is fixed
on develop branch difrently. However current behaviour renders
invalid results and IMHO this patch should merged and released
as 2.3.NEXT
Added default value to \Slim\Http\Request::params
Allow all valid characters in function names of getCallableAsClass

This uses the [a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]* regex as specified by https://php.net/manual/en/functions.user-defined.php

Conflicts:
	tests/RouteTest.php
Lazy-initialize class in \Slim\Route::setCallable()

You don't want to construct all kinds of objects when setting up your routes, so don't initialize those objects until
the route is actually dispatched. Add some basic caching so multiple route dispatches don't result in multiple class
instantiations.
Fix unit tests after merge
Merge branch 'release-2.4.3' of github.com:codeguy/Slim into release-2.4.3