New `with_logging` parameter to control system message handling (close #14)

We now catch `warning` and `message` just as LogMessages, but the caller
can get the old behaviour back by specifying `catch_system_messages=FALSE`.