Restore promise_pure declaration for catch_impl.

I inadvertently deleted a promise_pure declaration for catch_impl in
commit 3f220a009735b1bda71e1ce320025e66811fb4b5.  It is necessary in
java and csharp grades as catch_impl is implemented with mode-specific
clauses in those grades so the compiler infers impure.

library/exception.m:
	Restore the promise_pure declaration.

	Add Zoltan's explanation for why catch_impl is impure.

	Explain why we currently pretend catch_impl is pure.