create magit-log-edit.el from existing code

Create new library `magit-log-edit.el' from code that was previously
part of `magit.el'.  Due to how the involved libraries depend on one
another some functions have to be declared in `magit.el' for the time
being.

The moved code isn't modified, except that it is reordered and split
into sections.
rename to magit-log-edit-prev-window-configuration

from `magit-pre-log-edit-window-configuration',
because it should have a `magit-log-edit-' prefix.
rename to magit-log-edit-status-buffer

from magit-buffer-internal (?!).
magit-log-edit-mode-map: reorder bindings

This makes it a better (implicit) index of the command
definitions in the section that contains it.
Merge branch 'separate-log-edit-mode'