Raise exceptions on missing elements.

We should be avoiding trigger_error() in Cake3, and instead use
exceptions.
Throw exceptions when cell methods are missing.

Use reflection to capture missing cell methods and raise proper errors
on them.

Refs #3664
Add error handling for Cell::__toString()

Because __toString methods cannot emit exceptions, we render a string
error. This gives the developer some feedback about what is broken.

Refs #3664
Don't display errors with paths.

Errors with paths are a security vulnerability as path disclosure can
be used with other small exploits to be more useful.
Merge pull request #3676 from cakephp/issue-3664

3.0 - Improve cell/element error handling