Encourage use of Future.exception over throw for non-fatals.

This PR supersedes Moses' earlier one which addresses these points. I've taken Marius' changes into consideration, modulo some formatting and minor wording cleanups.