It's actually nearly right, except that it wants to cover existing Magit
windows with commit log and that's a mistake.
Implement a new version of `magit-display-buffer-traditional' which (a)
uses a list of modes in a variable rather than hardcoding it, and (b)
honours a designated window if there is one.