3.0 exception

Refs #3289.

One thing I haven't done is consolidating `Error\Exception` and `Error\BaseException` into one. The reason is `HttpException` extends `BaseException` while all other exceptions for cake errors extend `Exception`. The `ExceptionRender` checks the parent class of exception and depending on that does a bit of jugglery to decided which method and template to use. So merging both causes few tests to fail.

Though it would be possible to merge both and keep most tests passing by tweaking the conditions a bit in `ExceptionRenderer` constructor which checks exception type.