Set time to midnight as described in #4115

Set time to midnight on date types. 
Prevents behaviour described in http://php.net/manual/en/datetime.createfromformat.php#110385
Fixed typo
Implemented singular form fallback for __n() and __dn()

This helps developers get feedback on their code without having to translate stirngs to
any given locale beforehand
Corrects problem with paginator component

The paginator component was ignoring the component settings since the getDefaults() method had hard-coded defaults. This prevented setting app-wide paginator settings via the $components property in AppController.
Returning $date

Maybe this fixes the error?
Merge pull request #4122 from chinpei215/master-scaffold-error-fix

Fix a fatal error occurs in combination with a scaffold error.
Change getDefaults to use + operator instead of array_merge
Correct order
Update tests
Using intl to format numbers produced by Number::toReadableSize()
Starting to use NumberFormatter in the Number lib
Fix incorrect handling of inflections in InflectedRoute

When inflecting plugin/controller names in URL params we must also
ensure that default values have been inflected in the same way or match
failures will occur.

Refs #4120
Improving and optimizing code for Number::precision()
Removing dead code
Making Number::format() locale aware
Move /src/Config to /config.
Move src/bootstrap.php to config/bootstrap.php
Fixing Number::formatDelta()
Update config readers to look under /config.
Move plugin's /src/Config to /config.