3.0 - Adding PSR-3 support

Enforces the PSR-3 logging interface to our logging engines. This has the advantage of making them immediately usable inside other projects (such as elastica) and make using monolog a one liner.

This introduces a breaking change, as the Logging engines will have to implement more methods. BaseLog, helps with this task as only one of the methods remains abstract. In general, people will only need to rename `write` and use `log` instead.

The static class remains as a proxy for the logger engines as was left unchanged. Additionally, the forced use of `print_r` in `LogTrait` was removed, it is now the job of log engines to format the message as dictated by PSR-3.

For people wanting to use monolog, it becomes as easy as adding this to their `app.php`

```php
'Log' => [
		'default' => function() {
			return new \Monolog\Logger('app');
		},
	],
```

Closes https://github.com/cakephp/cakephp/issues/2033
How will existing scopes interact with psr logging contexts? Should we split the context and scope into separate arguments or have a special scope key in the context?