Improve assert expression documentation.

Per discussion on forum.
As I understand it, Walter's intention is that any program for which an `assert` is false (excepting the special case `assert(0)`) is invalid by definition, and therefore has undefined behaviour. Inserting checks and throwing `AssertError` is merely a debugging aid offered by the compiler to help the programmer locate the cause of the assertion failure, and is not behaviour that you should be relying upon as far as normal program operation is concerned.