Refactored the exceptions thrown by Log.java member methods. Previously,
the checked i/o exceptions were wrapped in a RuntimeException,
LogException. This circumvents Java convention, specifically the
catch/specify requirement. The possible scenarios while using Log.java that
would throw an exception, such as a target output file being
read-only, can reasonably be assumed to be recoverable. In this revision,
Log.java member methods no longer handle exceptions by forcing a
RuntimeException, but pass them on to the client-developer to be caught
and handled. The usage example in the documentation for Log.java has been
updated with a try-catch block to illustrate those changes.