Fixes corrupted CakeRequests when a $_GET value contains "://"
Added unittest for REQUEST_URI with multiple FQDNs.
adding a note about custom error handler classes
Added check for HHVM in Debugger,
Handle MissingViewExceptions better.

When Router::parseExtensions() is enabled for a file extension
that does not map to a view an infinite loop of attempting to render
View/$ext/error500.ctp will be entered. When catching
a MissingViewException check if we were trying to render an
error500. If we were, revert to safe rendering as we might enter a loop.
Blackhole requests when the action is the blackhole callback.

When a user requests the blackhole callback as an action we should
blackhole that request. The blackhole callback should not be URL
accessible.

Fixes #3496
Add tests for save() and multiple locales.

Refs #3498
Replaced simple and therefore pointless array_push function references with the ordinary way of adding an array element. This will increase the performance and the code looks much cleaner this way IMHO
Merge pull request #1055 from and-ers/master

Optimize and switch array_push() for [] =
Fix double encoding in JsHelper request methods.

The urls were being HTML & URL encoded, this causes issues with URL's
containing query string parameters.  Remove HTML entities as they aren't
required in the Javascript context.

Fixes #3495
Consistently inflect theme names.

Themes should be consistently converted into CamelCase, this
makes the camelization consitent with the treatment in App::themePath().

Fixes #3508
Start and end transactions on the fixtures datasource.

Fixes #3490
Remove duplicated assertions.

These assertions are effectively duplicated in the next test method.
Fix radio() and boolean values.

Boolean values should be cast to integer equivalents, which allows
for correct handling of boolean columns and their string equivalents
used in form options.

Fixes #3512
Closes ticket #3080 in CakePHP Lighthouse (http://cakephp.lighthouseapp.com/projects/42648/tickets/3080-hashflatten-endless-loop-on-single-0-int-keys).
Hash::flatten has a bug which causes an endless loop when try to flatten an integer key.
Probably the $data array pointer won't reset itself when doing:

$data = $element

and

list($data, $path) = array_pop($stack)

The solution is to reset the pointer after the assignments.
Add test for recursion issues in Hash::expand().

Refs #3080
Merge branch 'bbcrew-master'

From pull/1062 reset data arrays when expanding to solve
infinite recursion issues in PHP5.2

Fixes #3080
Update version number to 2.2.5
Fix lint errors.
Ensure $sources is Array before use