URL decode redirect urls.

Some servers send url encoded Location headers. Decode location headers
before processing a redirect.

Fixes #3310
Fixing "required" field detection again. Closes #3305
Only set $request->data with PUT/DELETE when it can be decoded.

Setting $request->data to the raw put data isn't overly useful unless it
can be decoded.  Generally $request->data is expected to be an array,
when its a string things can go funny.

Fixes #3320
Fix totally incorrect test.

TranslateBehavior should never be overlapped with real fields.
It should only be used to add fields that don't exist on the parent
table.
Fix issue with Model::saveAssociated() and TranslateBehavior

When combining saveAssociated() with validate=first and
TranslateBehavior. Saving data for multiple locales was not done
correctly.

Fixes #3272
code optimizing and simplify _crypt(), see PR #853
removed Inflictor::slug()replacement from Ä to A

The slug replacement for Ä -> A is not necessary, because the better
replacement Ä -> Ae is already defined and also covered by the test case.
Merge pull request #931 from Schlaefer/fix-slug-double-Ae-replacement

removed Inflector::slug() replacement from Ä to A
Added missing App::uses() statement. Closes #3331
Fix null column errors in SQLite and Postgres.
Make fragile test less fragile.
RedisEngine: authenticate connection if 'password' is set
fix fieldlist, refs PR808 and PR851

Squashed commit of the following:

commit 7007dba0eb836f852aaca95fada103bc4ba993a9
Merge: 3ca4d23 7d84486
Author: Ceeram <c33ram@gmail.com>
Date:   Fri Nov 2 10:53:39 2012 +0100

    Merge branch '2.3' into calinseciu-2.3

commit 3ca4d231bf80d2bb1c0572196f633da68c1a0db7
Author: Ceeram <c33ram@gmail.com>
Date:   Sun Sep 23 12:45:00 2012 +0200

    more tests added

commit e6b12532655671aff2b966a9be89b2625a715e8f
Author: Ceeram <c33ram@gmail.com>
Date:   Tue Sep 18 09:18:32 2012 +0200

    change methodname and visbilty

commit 70396265025190ab2fbc159911ec3e064cc44fb2
Author: Ceeram <c33ram@gmail.com>
Date:   Thu Sep 6 17:26:52 2012 +0200

    fix fieldlist, refs PR #808

commit e9db96bfe163609eeefba430d8353c822aabacb0
Merge: 99b798f adb8142
Author: Ceeram <c33ram@gmail.com>
Date:   Thu Sep 6 16:26:40 2012 +0200

    Merge branch '2.3' of git://github.com/calinseciu/cakephp into calinseciu-2.3

commit adb8142d2694692ec71a063ac2ad1b275f3a67c9
Author: calinseciu <calinseciu@gmail.com>
Date:   Thu Aug 30 17:57:50 2012 +0300

    Add foreignKey to whitelist in saveAssociated()

    Association's foreignKey doesn't get saved when saving hasMany associations since it's not in the model's whitelist after validation.
    This happens if you don't send the foreignKey with the associated records data.
fix incorrect tests
Use correct value when using virtualFields in conditions and IN (), refs PR#897

Squashed commit of the following:

commit 6a986953e16601fb34a132df24ae16f882f218cf
Merge: babd714 118dd8c
Author: Ceeram <c33ram@gmail.com>
Date:   Fri Nov 2 13:02:15 2012 +0100

    Merge branch 'master' into virtualcondition

commit babd714d80178c68b0e3fbcc21fc53b846484fd8
Author: Ceeram <c33ram@gmail.com>
Date:   Fri Nov 2 00:22:43 2012 +0100

    fix incorrect tests

commit 9a46c13e1aa13905b8e5474947933676e03009ce
Author: Ceeram <c33ram@gmail.com>
Date:   Thu Nov 1 11:44:19 2012 +0100

    add test for regular fields and conditionKeysToString with IN

commit 3aa62e5cb93aa0c7bbb47e874fc1446873dd0d27
Merge: a8f0c3d 1f31340
Author: Ceeram <c33ram@gmail.com>
Date:   Thu Nov 1 11:37:01 2012 +0100

    Merge branch 'master' into virtualcondition

commit a8f0c3d918761ff2c456cc3a53f1e3ee5b1c6173
Author: Ceeram <c33ram@gmail.com>
Date:   Thu Oct 11 16:46:10 2012 +0200

    use correct value when using virtualFields in conditions and IN ()
Fix missing query arguments in array urls.

Adding documented features that previously wasn't implemented.

Fixes #3328
Merge branch 'master' into 2.3

Conflicts:
	lib/Cake/Test/Case/View/MediaViewTest.php
Use set order for test that failed on travis.
Set::flatten() fails to generate keys when 'tip' value is an empty
array.
Merge pull request #935 from bar/master-hash-flatten

Set::flatten() fails to generate keys when 'tip' value is an empty array.