Add a hook for constructing custom log messages

Added a setting, `exclog.get_message`. It can be pointed at a function that takes a request as its only argument and returns a log message. When this is set, `extra_info` is ignored.