Add an example of writing your own assert control structure.

Unlike the withPrintWriter control structure, an assert just needs
to take function body of the predicate expression,
with no parameters passed.

How can we improve this?
Improve the custom assertion implementation by using a by-name parameter.
Add more explanation about how by-name parameters work.