Router improvements

- Make dashes-to-underscores URI segment replacement configurable via ['translate_uri_dashes'].
- Make _set_routing() protected and move the call to the class constructor.
- Remove redudant calls to set_class() and set_method().
- Clean-up/optimize the routes loading procedure.

(fixes issue #2503)
[ci skip] Remove a leftover description of the non-configurable translating of URI dashes
Merge pull request #2541 from vlakoff/develop-4

Proper directory_map test skip
User_agent library: robuster detection in is_referral()
Cache result of is_referral()
Merge pull request #2543 from vlakoff/develop-3

User_agent library: robuster detection in is_referral()
Fix too verbose error logging on default production environment

issue was present on PHP < 5.4
Merge pull request #2545 from vlakoff/develop-3

Fix too verbose error logging on default production environment
Fix Form Validation issue with text inputs which have array as name

Signed-off-by: Hashem Qolami <hashem@qolami.com>
change empty function to Identical comparison operator

Signed-off-by: Hashem Qolami <hashem@qolami.com>
Merge pull request #2547 from HashemQolami/patch-1

Fix Form Validation issue with text inputs which have array as name
[ci skip] Small upgrade notes fixes
Change class filenames to Ucfirst
Fix CI_Loader::model() tests
Fix Loader_test::test_non_existent_model()
[ci skip] Add a changelog entry for class file naming rule change
[ci skip] Fix style guide typos
Give Drivers a higher priority in the autoloader
Loader changes & optimizations related to issue #2551
[ci skip] Alter the welcome page