Don't proxy an already proxied cache engine.

In sub requests, or situations where the initialize() method may run
twice, we don't want to wrap existing proxies in another proxy.
Ensure database loggers are not stacked.

Wrapping a proxy in a proxy is a bit silly. This kind of situation
can easily happen in tests or when sub-requests are performed.
Ignore requestAction requests.

Sub requests will have their data saved with the top level request.
Fix failing test.
Merge pull request #217 from cakephp/nesting-issue

Fix nested proxy issues