3.0 move exception

This is the first step towards fixing the use of exceptions in cake. Refs #4416

Next step would be to use more relevant exceptions instead of just throwing the generic cake one. When not using the extra features of this exception type, there is no point in using it.
Why :-( ? If you think it is a bad idea or will end up being inconsistent it can stay the other way. I just thought rhe base exception could work differently than sub classes. We do that for things like cache and log engines.