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.
Nope, using a better exception class is part of the plan. Right now I'm making moves trying not to break the tests