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